gpt4 book ai didi

sql - 两个表上的 SQL 连接帮助

转载 作者:行者123 更新时间:2023-12-04 06:56:52 24 4
gpt4 key购买 nike

我有两张表,一张是论坛主题表。它有一个最后发布日期列。

另一个表具有 PostID、UserId 和 DateViewed。

我想加入这些表,以便我可以比较当前用户的 DateViewed 和 LastPostDate。但是,如果他们从未查看过该线程,则第二个表中将不会有一行。

这看起来很容易,但我无法理解它。请指教。

提前致谢。

最佳答案

您要具体做什么 - 确定是否有未读帖子?

您只需要使用外连接:

SELECT p.PostID, p.LastPostDate, ...,
CASE
WHEN v.DateViewed IS NULL OR v.DateViewed < p.LastPostDate THEN 1
ELSE 0
END AS Unread
FROM Posts p
LEFT JOIN PostViews v
ON v.PostID = p.PostID
AND v.UserID = @UserID

请注意,我已经放置了 UserIDJOIN 中测试健康)状况;如果你把它放在 WHERE谓词,那么您将不会得到任何结果,因为 PostViews 中将没有匹配的行 table 。

关于sql - 两个表上的 SQL 连接帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com