2016-11-10 204 views
0

试图从两列中取值,将它们相乘,并将结果显示为一个新列,全部在select语句中。以下是我到目前为止得到的结果将两列相乘,在select语句中显示为新列sql

select m.item_name, m.price, sum(od.qty) as count 
from menu as m, order_detail as od, sum(m.price * od.qty) as tsales 
where m.menuid = od.menuid 
group by m.item_name 
order by count desc 
limit 10; 

我可以得到select语句来做所有事情但是用新值显示新列。如果没有select语句的最后部分,它这样做:

select statement result without extra column error message

+0

而你期望什么呢?你错过了'tsales'列吗? – dahrens

+0

好吧,我只是得到一个错误,我不知道如何显示新的列与其他两列的信息 – xteetsx

+0

以及向我们显示错误消息。 – RiggsFolly

回答

0

我认为,我们正在寻找将从如下语句返回的结果:

SELECT m.item_name 
     , SUM(m.price*od.qty) AS tot_price_times_qty 
    FROM menu m 
    JOIN order_detail od 
     ON od.menuid = m.menuid 
    GROUP BY m.item_name 
    ORDER BY tot_price_times_qty DESC 
    LIMIT 10 

但是,没有任何样本数据或预期产出的证明,这只是一个猜测。

+0

YES!我不得不重新做一点,以正确的方式显示结果,但你非常感谢 – xteetsx