[SQL ] left join表格後where的問題
資料庫名稱:MariaDB
資料庫版本:10.4.21-MariaDB - mariadb.org binary distribution
內容/問題描述:
各位先進好,小弟目前有AB兩張關聯表:
A有ID、name、description等欄位,B有ID、A_ID、title、content、del等欄位。
del是邏輯刪除的欄位,如果del為1的話代表這筆紀錄已經被使用者刪除看不到。
我希望當對應B的紀錄(del=1)或無對應紀錄(del is null)時僅顯示A,
若對應B的紀錄(del=0)時同時顯示A跟B。
有嘗試過下面這種寫法:
SELECT A.*, B.*
FROM A
LEFT JOIN B ON A.ID = B.A_ID
WHERE B.del = 0 OR B.del IS NULL
可以成功在沒有對應B紀錄時候撈出A,以及del=0時的A與B,
但是如果有一筆A只對應到del=1的B紀錄時,上面的寫法就撈不出這筆A了。
請教各位先進該如何修改我的SQL,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.112.111 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1682531943.A.203.html
推
04/27 09:02,
1年前
, 1F
04/27 09:02, 1F
→
04/27 09:02,
1年前
, 2F
04/27 09:02, 2F
→
04/28 00:55,
1年前
, 3F
04/28 00:55, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章