使用MySQL。在另一個表中存在設置標誌值記錄的基礎
下面是我的表格結構。
表:一個
aId(PK) aValue1 aValue2
----------------------------------
1 value-a1 value-b1
2 value-a2 value-b2
3 value-a3 value-b3
4 value-a4 value-b4
表:乙
bId(PK) aId(FK) bValue1 bValue2
-----------------------------------------------------
1 1 val-1 value-1
2 1 val-2 value-2
3 2 val-3 value-3
如何能夠做到下面的結果在單個查詢。 如果表中存在相關記錄,我想要表中的所有記錄:A和標誌值對每個記錄:B 我試着INNER JOIN,左/右但沒有幫助。
結果
aId aValue1 aValue2 bId (flag if record exist Y else N)
-----------------------------------------------
1 value-a1 value-b1 Y
2 value-a2 value-b2 Y
3 value-a3 value-b3 N
4 value-a4 value-b4 N
我的查詢:這回我超過4行。這是不對的
SELECT
c.* , if(d.bId is NULL,'N','Y')
from a c
LEFT JOIN b d ON a.aId = d.aId
爲什麼你的左連接不起作用?這是正確的解決方案。你能證明你的嘗試嗎?將它添加到你的問題上。 –
@JorgeCampos是正確的,只要使用if(bid爲NULL,'N','Y')爲Y或N選擇 – developerCK
添加SQL查詢屬性。問題是..獲取冗餘數據 – fresher