【发布时间】:2019-07-10 22:27:23
【问题描述】:
SELECT DISTINCT
...
...
...
FROM Reviews Rev
INNER JOIN Reviews SubRev ON Subrev.W_ID=Rev.ID
WHERE Rev.Status='Approved'
这是我已经尝试理解了一天的长查询的一小部分。加入发生了什么?评论表似乎以不同的别名与自身连接。为什么这样做?它实现了什么?此外,对于仍然选择并返回的条目,Reviews 表的 ID 字段为空。这是正确的,但我不明白如果 W_ID 字段不为空,会发生这种情况。
【问题讨论】:
-
将一个表连接到自身是完全正常的。在这种情况下,有一个
W_ID充当主评论的“子评论”。此查询查找该 SubReview 并返回其信息。 -
并且“评论表的ID字段对于条目来说是空的”...这条评论适用于评论表的哪个实例?
Rev还是SubRev?我们不知道您在查询中选择了哪些字段,也不知道源数据究竟是什么样的。 -
@ADyson 谢谢,你的 cmets 解释了很多。
-
(显然--)这是一个常见问题解答。在考虑发布之前,请始终在谷歌上搜索任何错误消息以及您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括和不包括您的特定字符串/名称;阅读许多答案。如果您发布问题,请使用一个短语作为标题。请参阅How to Ask 和投票箭头鼠标悬停文本。 PS 请参阅我对已接受答案的评论问题。另请参阅我在链接副本中的答案。另请参阅许多其他重复项。 PS 要具体询问您不了解的内容,请查看一般重复项,然后解释您的期望,以便我们解决。