【发布时间】:2021-11-30 14:19:46
【问题描述】:
我正在尝试连接两个表以获取未在复制表中借用的视频标题,并且我认为除了表值返回 null 之外,我已正确完成所有操作?而不是它只是说 null 的实际名称,我是 SQL 新手,我真的不知道我做错了什么。
SELECT
video.vidTitle,
video.vidCertificationID,
copy.copCurrentlyHired
FROM video
RIGHT JOIN copy ON video.vidVideoID = copy.copCopyID
WHERE copCurrentlyHired = 1;
【问题讨论】:
-
尽量避免使用 RIGHT JOIN,见:stackoverflow.com/questions/436345/…
-
在这种情况下,表
copy中有记录,而表video中没有匹配记录 -
切换
right到left,where到and然后添加一个新行WHERE copy.copCopyID is null虽然.....取决于数据,这可能也不正确。 .. 需要一些样本数据和预期结果来了解/更好地了解您的情况。 -
@xQbert 非常感谢,我在这件事上工作了四个小时
-
只要确保您取回“正确”的数据。我不肯定这会正确处理您的所有情况,因为这将取决于这些表的使用方式以及何时存储在其中的数据。如果你不明白“为什么”它会起作用,就问问题......整个教一个人钓鱼......而不是给一个人一条鱼。