2016-12-25 2 views
-5

У меня есть таблица ORDERS с колонками NAME и AMOUNT.Простой подзапрос в SQL

Мне нужно получить NAME и всего AMOUNT каждого продукта.

У меня есть такое решение

select PRODUCT_NAME, SUM(AMOUNT) from ORDERS GROUP BY PRODUCT_NAME; 

Но я не использую подзапросы для достижения этого. Но урок, который я переживаю, касается подзапросов. Может быть, я ошибаюсь в отношении этого решения?

+0

У меня есть такое решение, выберите PRODUCT_NAME, SUM (AMOUNT) из ORDERS GROUP BY PRODUCT_NAME; Но я не использую подзапросы для достижения этого. Но урок, который я переживаю, касается подзапросов. Может быть, я ошибаюсь в отношении этого решения? –

+2

Не публикуйте дополнительный код или дополнительную информацию, такую ​​как commenst. ** [изменить] ** ваш вопрос –

ответ

0

Его простое агрегирование запросов без необходимости в подзапросом как:

SELECT name, SUM(AMOUNT) 
FROM Orders 
GROUP BY name 
+0

Спасибо, но прочитайте мой комментарий, пожалуйста! –

+0

Вот оригинальная задача «Показывать названия продуктов, заказанных вместе с их общей суммой». Может быть, я действительно понимаю что-то неправильно? –

0

Это решение прекрасно подходит:

selectname, sum(amount) 
from Orders 
group by name 

Но, если вы необходимо использовать подзапрос, используйте:

select o2.name, 
    (select sum(amount) 
    from Orders o1 
    where o1.name = o2.name) as total 
from 
(select distinct name 
from Orders) o2 
Смежные вопросы