0
我有3個表應該結合左加入,這到目前爲止確定。但現在我只想要一些信息,例如只有性別是男性,這也沒關係。還顯示性別爲空的所有行,這也沒關係。但現在我只想顯示允許的行。例如,誰被允許在例如不要顯示ID爲1的行。那就是問題所在。例如。MySQL左加入3個表的政策不允許用戶ID
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中的所有行,但我不想選擇這些未從一些允許用戶在表3 Pollicy
嗯,不知道引號,但。 – Strawberry
Thx Peterm, 與此同時,我再次嘗試並找到解決方案。我必須寫OR作爲最後的條件,並且結果是可以的。 Peterm我會測試你的建議。 thx到目前爲止解決了我。 – Sunghost
你好peterm,我現在有時間進一步工作,並有一個新的問題。我已經在tabl3不僅允許,而且爲每個條目與user_id,field_name和允許的行。第4頁,國家,4和下一個第4行,性別,1爲同一用戶每個字段的一個條目。如果我現在想讓所有具有性別2和國家/地區53的用戶這沒有work.i擴展您的代碼和tabl3.allowed = 4和tabl3.gender = 2和tabl3.country = 53。作爲左加入。但我也有用戶誰擁有相同的國家和性別,但允許是1而不是two.do你有這個解決方案。我嘗試了一些,但都沒有工作 – Sunghost