顶部1查询SQL外部连接
问题描述:
我有两个表,程序和事件。我想要做的是获得每个节目最近的即将到来的事件。然而,有可能一个程序可能没有附加任何事件或者只发生在过去的事件,但我仍然需要程序在事件日期中显示一个空值,而不是离开。所以我开始实施一个外部联接的基础上我google了,发现外部适用。顶部1查询SQL外部连接
问题似乎是我有任何事件列进不去,歌厅错误'Invalid column name 'start_date'.'
(出现这种情况与所有三列,而不只是开始日期)
,所以我要么需要了解为什么如果什么都不存在
SELECT
p.*,
e.type,
e.start_date,
e.end_date
FROM
program p
outer apply (
select top(1) pk_id from events e where fk_program_id = p.pk_id and end_date >= GetDate()
) e
答
你,我无法访问这些列,或找出一种新的方式去写返回所有项目的查询,以及加入了最近事件的事件表/离开值空”除了事件中的pk_id之外,不要返回任何列。将其他列添加到您的select语句。 :-)
SELECT TOP(1) p.pk_id,
TYPE,
start_date,
end_date
FROM events e
WHERE fk_program_id = p.pk_id
AND end_date >= Getdate()
哦咄。男人,有时它总是小东西。我保留了以前的迭代中的查询,之前我意识到我需要外连接。谢谢,我会尽快接受答案。 – Josh