我有这个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
但是,我想要做的是获取MySQL语句中生成的per_item字段的总和。是否有可能做一个嵌套语句来做到这一点?我知道我可以创建一个视图,然后再进行操作,但我更愿意在一个声明中进行。
感谢您的帮助,非常感谢!
答案 0 :(得分:2)
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 :(得分:1)
如果您只想要所有行的总和,您可以这样做(使用显式连接以获得更好的可读性):
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