Вложенный запрос MySQL? - PullRequest
       2

Вложенный запрос MySQL?

0 голосов
/ 07 марта 2011

У меня есть оператор MySQL, который отлично работает:

SELECT claim_items.item_id, claim_items.quantity*items_rate.rate as per_item
FROM claim_items, items_rate 
WHERE claim_items.claim_id = 1 AND claim_items.item_id = items_rate.items_id

Однако я хочу получить сумму поля per_item, сгенерированного в операторе MySQL. Можно ли сделать вложенное утверждение, чтобы сделать это? Я знаю, что мог бы создать представление и затем сделать это, но предпочел бы сделать это в одном утверждении.

Спасибо за вашу помощь, высоко ценится!

Ответы [ 2 ]

2 голосов
/ 07 марта 2011
select t.id, SUM(t.per_item)
from 
(
SELECT claim_items.item_id as id, claim_items.quantity*items_rate.rate as per_item
FROM claim_items, items_rate 
WHERE claim_items.claim_id = 1 AND claim_items.item_id = items_rate.items_id
) t
group by t.id

Надеюсь, это поможет.

1 голос
/ 07 марта 2011

Если вы просто хотите получить сумму по всем строкам, вы можете сделать это так (используя явные объединения для лучшей читаемости):

SELECT SUM( claim_items.quantity * items_rate.rate )
FROM claim_items
JOIN items_rate ON ( items_rate.items_id = claim_items.item_id )
WHERE claim_items.claim_id = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...