将修改后的列相乘以形成新列

时间:2016-04-29 17:27:39

标签: sql asp.net gridview

我想要一个类似的查询:

select tp.package_rate, sum(sell) as sold_quantity , select(tp.package_rate * sold_quantity ) as sell_amount from tbl_ticket_package tp where tp.event_id=1001

此处系统触发错误,同时进行乘法

sold_quantity is invalid column 

另一个问题是,在乘法中,我想使用从tp.package_rate中通过select查询得到的package_rate,但是它与表的所有package_rate相乘,但我只想要特定的package_rate,这是select查询的输出

你会建议什么?我想在gridview中绑定此查询。有没有办法使用ASP.net gridview?

1 个答案:

答案 0 :(得分:0)

你的问题是你在这里指的是sold_quantity:

select(tp.package_rate * sold_quantity ) 

此时无法识别别名。您必须将其替换为sum(sales)。您还必须按tp.package_rate进行分组。

理想情况下,您的查询应该是:

    select tp.package_rate, sum(sell) as sold_quantity , 
(tp.package_rate * sum(sell) ) as sell_amount from tbl_ticket_package tp 
where tp.event_id=1001 group by tp.package_rate;

我猜测tp.package_rate对于给定的event_id是唯一的,从问题的后半部分开始。如果不是这样的话,你写的sql没有意义。