Subquery

比較不同表中值的位置

  • February 15, 2018

SQL 新手。希望找到與鮑勃(客戶)位於同一區域的餐廳出售的獨特披薩。

數據庫架構:

客戶(cname, area)

餐廳(rname, area)

比薩(披薩)

Sells(rname,pizza,price)

喜歡(cname,披薩)

  SELECT distnct pizza
  FROM Sells
  WHERE rname in (
     SELECT rname
     FROM Restaurants
     WHERE area..... 
  -- This is the part where i don't know how to continue. 
  -- How do i write it so that i compare the location of the restaurant with bob's location? 
  );

在我看來,一個INNER JOINEXISTS應該做的組合:

SELECT DISTINCT(s.pizza)
FROM dbo.Sells s
INNER JOIN dbo.Restaurants r
   ON s.rname = r.rname
WHERE EXISTS(SELECT 1 FROM dbo.Customers
            WHERE cname = 'bob'
            AND area = r.area) 
;

引用自:https://dba.stackexchange.com/questions/198013