我有以下SQL查询数据库,并从4个不同的表中提取信息。

 SELECT d.item AS day, m.item as month, y.item as yr, l.item as local
 FROM date_day d
 JOIN date_month m ON d.recid=m.recid
 JOIN date_year y ON d.recid=y.recid
 JOIN location l ON d.recid=l.recid
 WHERE d.recid='cneta0ld00s6'


这些表中的一个或多个可能为空并且不包含值。特别是在日期字段上。以上任何一项是否为空或不存在,会导致整个操作失败?我特别担心date_day,因为我知道mysql没有完整的加入。

有什么想法吗?

最佳答案

我觉得:

SELECT d.item AS day, m.item as month, y.item as yr, l.item as local
 FROM date_day d
 LEFT JOIN date_month m ON d.recid=m.recid
 LEFT JOIN date_year y ON d.recid=y.recid
 LEFT JOIN location l ON d.recid=l.recid
 WHERE d.recid='cneta0ld00s6'


会做你想要的

关于mysql - PHP的MySQL加入4表可能的空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12387152/

10-11 03:20