我想實現某些我認爲相當容易的事情,但我無法將其包圍。即使在「JOIN」表中沒有數據時也選擇ID
我有兩個表中,A和B:
表A是其中所有的數據項都定義。
+----+--------------+
+ ID + other_things +
+----+--------------+
+ 1 + ~~~~~~~~~~~~ +
+ 2 + ~~~~~~~~~~~~ +
+ 3 + ~~~~~~~~~~~~ +
+----+--------------+
在表B中,存儲了一些可選屬性,但並非所有記錄都在此表中。
+----+-------------+-------------+
+ ID + prop_type + prop_value +
+----+-------------+-------------+
+ 1 + prop1 + foo +
+----+-------------+-------------+
+ 1 + prop2 + toto +
+----+-------------+-------------+
+ 3 + prop2 + lorem +
+----+-------------+-------------+
當我查詢這些表,使用:
SELECT A.ID, B.prop_value FROM A FULL JOIN B ON A.ID = B.ID WHERE B.prop_type = 'prop2'
我得到
ID prop_value
------------------------ -------------------------------------------------------
1 toto
3 lorem
但我想獲得表A中的所有行,即使他們沒有'prop2'值,類似
ID prop_value
------------------------ -------------------------------------------------------
1 toto
2
3 lorem
如何調整我的查詢以獲取後者(我認爲它與JOIN關鍵字有關,但無論我閱讀了多少教程,我都無法使其工作......)
非常感謝!
如果您使用'FULL JOIN',則不使用'MySQL'。 –
正確,它是SQLPlus,爲了清晰我刪除了標籤 – Maxime