0
我一直試圖解決這個問題,但我似乎無法做到正確。我基本上有2個樣本表:position
和position_meta
。忽略來自關係表上的其他用戶的行
預期結果(用戶ID:1)
------------------------------------------------
id position user_id
------ ---------------------------- ---------
1 Physical Therapist Assistant 1
2 Brake Machine Setter (NULL)
3 Community Service Manager 1
------------------------------------------------
代替
-----------------------------------------------
id position user_id
------ ---------------------------- ---------
1 Physical Therapist Assistant 2
1 Physical Therapist Assistant 1
2 Brake Machine Setter (NULL)
3 Community Service Manager 1
3 Community Service Manager 3
-----------------------------------------------
我的樣本表
Table: position
-----------------------------------------
id position
------ ---------------------------------
1 Physical Therapist Assistant
2 Brake Machine Setter
3 Community Service Manager
-----------------------------------------
Table: position_meta
------------------------------
id user_id position_id
------ ------- -------------
1 1 1
2 2 1
3 3 3
4 1 3
------------------------------
您可以看到,一些用戶在position_meta
中有條目,而有些則沒有。但是否可以顯示所有職位,無論他們是否在position_meta
中有條目。但是,如果當前用戶(例如user_id
1)在position_meta
中有條目,它將顯示它並忽略可能已經選擇了相同位置(防止重複行)的任何其他用戶行。
如果position_meta
項是從另一個user_id
完全(不user_id
1),然後顯示NULL
或任何其擁有它,因爲我不會無論如何檢查它的用戶。
這是MySQL可以做的事嗎?
編輯: 這是我使用的查詢其得到錯誤的結果:
SELECT p.id, p.position, pm.user_id FROM `position` p
LEFT JOIN position_meta pm ON p.id = pm.position_id
ORDER BY p.id
當然。我真是個白癡。感謝一堆@symcbean。 – enchance