【发布时间】:2018-02-01 09:32:34
【问题描述】:
我有两个要连接的子查询,第一个返回以下数据:
array (size=110)
0 =>
array (size=3)
'scans' => string '7' (length=1)
'bonus_points' => string '0' (length=1)
'date' => string '2017-06-13' (length=10)
1 =>
array (size=3)
'scans' => string '20' (length=2)
'bonus_points' => string '0' (length=1)
'date' => string '2017-06-14' (length=10)
第二个:
array (size=21)
0 =>
array (size=2)
'redeems' => string '1' (length=1)
'date' => string '2017-06-14' (length=10)
如果我像这样对这两个进行左连接:
LEFT JOIN query2 ON query2.date=query1.date;
我得到以下信息:
array (size=110)
0 =>
array (size=4)
'scans' => string '7' (length=1)
'bonus_points' => string '0' (length=1)
'date' => null
'redeems' => null
1 =>
array (size=4)
'scans' => string '20' (length=2)
'bonus_points' => string '0' (length=1)
'date' => string '2017-06-14' (length=10)
'redeems' => string '1' (length=1)
一切都如我所愿,除了左查询并不总是与右查询具有相同的日期,然后结果是'date' => null。
如何保留两个查询中的数据?
【问题讨论】:
-
@splash58 left outer 与仅 left、right 和 full external 相同,仅返回第二个表中的行