我还没有找到任何方法来解决这个问题,而没有进行两次单独的数据库查询,并认为我会转到这里看看我试图实现的是否可行。
我有两个数据库表:
messages
--------
...
media ==> Boolean representing if the message has attached media
messagesMedia
-------------
...
messagesID ==> Reference to message
是否可以通过media = 1
获取查询以加入所有关联媒体,如果media = 0
只返回消息?
谢谢!
答案 0 :(得分:1)
是的,你可以为此LEFT OUTER JOIN
做一次。无论messagesMedia
表中是否匹配,您都将获得所有消息记录,如果匹配,您也将获得匹配的记录。
select m.*, mm.*
from messages m
left join messagesMedia mm on m.messagesID = mm.messagesID;