首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在表1中的列存在于另一个表中且第二列等于第二个表中的变量的表中选择全部

在表1中的列存在于另一个表中且第二列等于第二个表中的变量的表中选择全部
EN

Stack Overflow用户
提问于 2013-03-07 00:26:37
回答 2查看 19.8K关注 0票数 4

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

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

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

代码语言:javascript
复制
SELECT * 
FROM tblFilms
WHERE FilmName = (SELECT DISTINCT FilmName FROM tblListings WHERE Cimema = 1)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 00:27:30

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

代码语言:javascript
复制
SELECT * 
FROM tblFILMS 
WHERE FilmName IN (SELECT DISTINCT FilmName FROM tblListings WHERE Cimema = 1)

另一种解决方法是使用JOIN (我推荐)

代码语言:javascript
复制
SELECT  DISTINCT    a.* 
FROM    tblFILMS a
        INNER JOIN tblListings b
            ON a.FilmName = b.FilmName AND
                b.Cimema = 1

为了加快查询执行速度,请在两个表的FilmName上添加一个INDEX

票数 15
EN

Stack Overflow用户

发布于 2013-03-07 00:29:23

如果您有表的模式,这将有所帮助。

也就是说,我相信您想要查看的是JOIN关键字。(内部/外部/左侧/等等)。这正是JOIN的目的(即你的头衔)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15252752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档