[英]Select all columns from one table and one from another where column equals variable
[英]Select all in table where a column in table 1 exists in another table and a second column equals a variable in second table
我知道標題令人困惑,但它是我能解釋的最好的。 基本上我正在為擁有兩家電影院的公司開發一個電影院列表網站。 所以我有一個數據庫,其中包含兩個表“Films”和“Listings”,其中包含兩個電影院的數據。
如果電影名稱出現在列表中,我試圖為一部電影選擇所有電影和他們的數據(因為兩部電影院共享所有電影,但在表格中但可能沒有相同的電影顯示)
這是我想出來的但是我遇到了一個問題,因為當“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
為了更快地執行查詢, FilmName
在兩個表上的FilmName
上添加一個INDEX
。
如果您有表格的模式,那將有所幫助。
也就是說,我相信你想要看的是JOIN關鍵字。 (內/外/左/等)。 這正是JOIN的意圖(即你的頭銜)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.