我有3個表的數據庫(見截圖)返回SQL結果,其中位值= 1
我需要返回其銷售是允許的客戶。
我能夠使用where子句返回客戶標題,但我不知道如何過濾允許營銷的客戶。我查看了哪裏和加入條款,但也許我錯過了什麼?
任何幫助將不勝感激。
我有3個表的數據庫(見截圖)返回SQL結果,其中位值= 1
我需要返回其銷售是允許的客戶。
我能夠使用where子句返回客戶標題,但我不知道如何過濾允許營銷的客戶。我查看了哪裏和加入條款,但也許我錯過了什麼?
任何幫助將不勝感激。
SELECT Title
FROM Customer AS Cust
WHERE EXISTS (SELECT *
FROM Statuses AS S
WHERE S.statusID = Cust.statusID
AND S.isMarketingAllowed = 1);
請注意: 雖然可以得到相同的結果,具有相似的性能,與JOIN操作,我認爲這是不太可讀。當您需要從第二個表中獲取訪問數據(通過select子句)時,應該使用JOIN操作。
它看起來會是這樣的:
SELECT c.Forename, c.Surname, c.Email, t.Description, s.IsMarketingAllowed
FROM Customer c
INNER JOIN Statuses s ON c.StatusID = s.StatusID
INNER JOIN Titles t ON c.Title = t.TitleID
WHERE s.IsMarketingAllowed = 1
謝謝您的回覆!我在下面的評論中添加了一條評論,在我原來的問題中,我可能錯過了評論。 – Kasper