嵌套的MySQL查询?

时间:2011-03-07 12:20:05

标签: mysql nested

我有这个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字段的总和。是否有可能做一个嵌套语句来做到这一点?我知道我可以创建一个视图,然后再进行操作,但我更愿意在一个声明中进行。

感谢您的帮助,非常感谢!

2 个答案:

答案 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