我不明白。我改变了一些代码。在WPLEVENT表中,每个人都有很多事件。在Persab-Table中是有历史的人。现在我需要来自Persab表的行,该行与最接近WPLEVENT.vdat Date的persab.gltab日期匹配。所以来自WPLEVENT的所有行,但只是来自PERSAB-Table的一个匹配行。
SELECT
persab.name,
persab.vorname,
vdat,
eventstart,
persab.rc1,
persab.rc2
FROM wplevent
INNER JOIN
persab ON WPLEVENT.PersID = persab.PRIMKEY
INNER JOIN
(SELECT TOP 1 persab.rc1
FROM PERSAB
WHERE persab.gltab <= getdate() --/ Should be wplevent.vdat instead of getdate()
) NewTable ON wplevent.persid = persab.primkey
WHERE
persid ='100458'
ORDER BY vdat DESC
答案 0 :(得分:0)
需要通过提供类似MAX()
的表达式,使用具有正确语法的MAX(persab.rc1)
函数。还需要在子查询中使用GROUP BY
作为第二列rc2
(尽管看起来你不需要它)。最后,您错过了最终ON
的{{1}}子句。如果您提供该信息,我可以更新解决问题的答案。
INNER JOIN