我有3个表应该与Left Join结合,这是好的。但现在我只想要一些信息,例如只有性别是男性,也没关系。同时显示性别为空的所有行,也可以。但现在我只想显示允许的行。允许的人在例如之前澄清不要显示ID为1的行。这就是问题所在。 E.g。
table1
id | tab2_id | gender_id | bla
table2
id | name | bla | blub
table3
id | tabl_id | gender_id | allowed
1 | 1 | 1 | 1
2 | 2 | 1 | 2
到目前为止的查询:
Select table1. gender_id, table1.bla, table2.name, table2.bla
From table1
Left Join table2 ON table1.tab2_id = table2.id
LEFT Join table3 on table1.tab2_id = table3.tab1_id
Where table1.gender_id = '1'
OR table1.gender_id IS NULL
AND table3.allowed <> 1
我希望这是一个例子。主要问题是允许的问题。我可以为性别1选择所有行,但我不想选择Pollicy Table3中某些用户不允许的这些行
答案 0 :(得分:0)
以这种方式试试
SELECT table1.gender_id, table1.bla, table2.name, table2.bla
FROM table1 LEFT JOIN table2
ON table1.tab2_id = table2.id LEFT JOIN table3
ON table1.tab2_id = table3.tab1_id
AND table3.allowed <> 1
WHERE table1.gender_id = 1
OR table1.gender_id IS NULL