如何从2个表中选择确切想要的行

时间:2013-08-20 12:16:27

标签: mysql sql

我的sql有问题。
我有两个名为treatmentstreatmentusers的表。 treatments表有2个名为idtreatment的字段。在treatmentusers我有3个字段iduseridtreatmentid。我需要选择treatment表格中的所有字段以及userid中的treatmentusers。但有一个条件是 仅为特定userid选择行。 (例如:userid=1)。如果userid表中不存在treatmentid treatmentusers组合,则单元格值必须为null或0。

2 个答案:

答案 0 :(得分:2)

您只需要使用左连接并将userId要求作为ON子句的一部分。

SELECT t.*, tu.userid
FROM treatments t
LEFT JOIN treatmentUsers tu 
    ON t.Id = tu.treatmentId 
    AND tu.userId = 1

答案 1 :(得分:0)

SELECT T.*, TU.userid FROM treatments T
  INNER JOIN treatmentusers TU ON T.userid = TU.userid
  WHERE TU.userid = '1';

如果在treatmentusers表中的userid是数字类型,那么

.....WHERE TU.userid = 1;