作者cutekid (可爱小孩子)
看板Database
标题Re: [SQL ] left join表格後where的问题
时间Thu Apr 27 09:02:11 2023
SELECT *
FROM A
LEFT JOIN B ON A.ID = B.A_ID AND
B.del = 0
※ 引述《beolk (蓝色方塔)》之铭言:
: 资料库名称: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), 来自: 165.225.116.212 (香港)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1682557333.A.B6B.html
1F:→ beolk: 问题解决了,非常感谢您的回文~^^~ 04/28 00:56
2F:→ cutekid: 不客气,祝顺心 04/28 02:11