我不確定這是否可以使用單個JOIN完成,但我基本上有兩個ID列通用的表。爲了簡單起見,我會說表A只包含一個ID,而表B包含一個ID和代碼。表A和表B之間有1:M的關係,但表B中的ID也可能不包含在表B中。我希望有一個查詢返回特定代碼範圍內表B中存在的每個ID,或根本不存在於表B中。這可以通過單個SQL加入完成嗎?
我使用LEFT JOIN嘗試用類似:
SELECT A.id FROM A LEFT JOIN B ON A.id = B.id AND b.code BETWEEN '000' AND '123'
但是,這仍然給我的代碼範圍之外存在於表B的ID。
你使用的是mysql還是sql server?它們不是同一件事。 –
給我們一些樣本數據和結果。 – wumpz
很確定'在'之間'不能這樣工作。 「0到123之間」有道理。添加'和b.code爲空'來獲取那些不存在於'b'中的。 – paqogomez