我正在编写SQL语法来编写Join查询。 我无法获得预期的输出,我请专家帮助我。
Table: Table1
ScriptNumber Date Filled RefillsLeft
100 01/02/2014 1
200 01/03/2014 0
300 01/22/2014 3
Table : Table 2
ScriptNumber Date Filled RefillsLeft
100 02/02/2014 0
Expected output
ScriptNumber Date Filled RefillsLeft
100 02/02/2014 0
300 null null
SQL语句
SELECT Table_2.ScriptNumber
,Table_2.DateFilled
,Table_2.RefillsLeft
FROM Table_1
LEFT JOIN Table_2
ON Table_1.ScriptNumber = Table_2.ScriptNumber
答案 0 :(得分:1)
此处左侧连接可用于获取Table_1中所需的记录以及表_2中可能的所有相关详细信息
select Table_1.ScriptNumber
, Table_2.DateFilled
, Table_2.RefillsLeft
from Table_1
left join Table_2 on Table_1.ScriptNumber = Table_2.ScriptNumber
where Table_1.RefillsLeft > 0
这样的描述对你的问题也有帮助。
答案 1 :(得分:1)
您的问题来自于SELECT
来自table_2
的{{1}}语句中的列,这些列没有table_1
中存在的行的值。您需要将SELECT Table_2.ScriptNumber
更改为SELECT Table_1.ScriptNumber
作为未来参考,请务必始终从 LEFT 表中选择所有相关列,并且只从 RIGHT 表中选择所需的列。否则,您最终会使用较少的 NULL 行,而不是拥有 LEFT 表中的数据。