我一直坚持找出我的查询出了什么问题。我选择表“ acara”和表“ eventorg”,
如果找不到表“ acara”或为空,
表“ eventorg”不想显示,
但是如果表“ acara”不为空或未找到,
表“ eventorg”和表“ acara”将显示
这是我的查询
SELECT
eventorg.nama as NamaEO,
eventorg.deskripsi as DeskEO,
eventorg.logo as LogoEO,
eventorg.email as EmailEO,
eventorg.telp as TelpEO,
acara.nama as NamaEvent,
acara.id_acara,
acara.tanggal,
acara.deskripsi,
acara.lokasi
FROM eventorg
LEFT JOIN acara
ON acara.id_eo=eventorg.id_eo AND eventorg.id_eo='$ideventO';
表'eventorg'中的'id_eo'是主键,表'acara'中的'id_eo'是外键
最佳答案
如果要选择eventorg
的每一行而不管acara
中是否存在对应的记录,则需要RIGHT JOIN,而不是LEFT JOIN(或反转FROM和LEFT JOIN子句中的表)。
正如Matthew在评论中提到的那样,Jeff Atwood的维恩图是可视化它的好方法:http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/
关于php - 一个表为空或不为空时选择两个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35521191/