mak_ufo
@mak_ufo

Как правильно составить подзапрос?

Всем привет. Нашёл на хабре следующую задачку:
Есть три таблицы: CUSTOMERS (ID, NAME, MANAGER_ID); MANAGERS (ID, NAME); ORDERS (ID, DATE, AMOUNT, CUSTOMER_ID). Написать запрос, который выведет имена Customers и их SalesManagers, которые сделали покупок на общую сумму больше 10000 с 01.01.2013.

Как я понял, здесь надо через подзапросы делать. Я составил запрос для выборки всех id покупок:
SELECT id FROM Orders WHERE Amount > 10000 AND Date > 01.01.2013


Но не понимаю, как мне правильно вставить теперь эти id в выборку:
SELECT Customers.Name, Managers.Name FROM Customers, Managers
WHERE (??)
  • Вопрос задан
  • 1238 просмотров
Пригласить эксперта
Ответы на вопрос 1
@latush
SELECT Customers.Name, Managers.Name FROM Customers, Managers, Orders
WHERE Orders.id IN (SELECT id FROM Orders WHERE Amount > 10000 AND Date > 01.01.2013)


А вообще, почитайте про JOIN

PS. А, не, какой-то бред получается. Лучше про JOIN читайте)
как-то так
SELECT c.Name, m.Name
FROM Orders o 
JOIN Customers c 
ON c.id=o.CUSTOMER_ID
JOIN Managers m
OM m.id = c.MANAGER_ID
WHERE o.Amount>10000 and o.Date > 01.01.2013
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы