gpt4 book ai didi

sql - 选择表中的所有表,其中表 1 中的列存在于另一个表中,第二列等于第二个表中的变量

转载 作者:行者123 更新时间:2023-12-04 21:53:09 26 4
gpt4 key购买 nike

我知道标题令人困惑,但这是我能解释的最好的。基本上我正在为一家拥有两家电影院的公司开发一个电影院列表网站。所以我有一个数据库,其中有两个表“电影”和“列表”,其中包含两个电影院的数据。

如果电影名称出现在列表中,我正在尝试为一个电影院选择所有电影及其数据(因为这两个电影院共享所有电影,但在表中,但可能没有相同的电影放映)

这是我想出的,但我遇到了一个问题,因为当“SELECT DISTINCT”返回多个结果时,它显然无法与 tbl Films 上的 FilmName 匹配。
如何检查 tblFilms 上所有 FilmNames 的值?

SELECT * 
FROM tblFilms
WHERE FilmName = (SELECT DISTINCT FilmName FROM tblListings WHERE Cimema = 1)

最佳答案

使用 IN如果子查询返回多个值,

SELECT * 
FROM tblFILMS
WHERE FilmName IN (SELECT DISTINCT FilmName FROM tblListings WHERE Cimema = 1)

解决 thius 的另一种方法是使用 JOIN (我推荐)
SELECT  DISTINCT    a.* 
FROM tblFILMS a
INNER JOIN tblListings b
ON a.FilmName = b.FilmName AND
b.Cimema = 1

为了更快地执行查询,添加 INDEXFilmName在两张 table 上。

关于sql - 选择表中的所有表,其中表 1 中的列存在于另一个表中,第二列等于第二个表中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15252752/

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