-1
私は複数の店舗の売上高を引き出してサマリーとして表示するためのステートメントを書くのに苦労しています。私は必要なすべての情報を得るためにここに4つのテーブルを問い合わせています。特定のタイプの製品の販売を引き出すまではうまくいきます。製品タイプ別の売上高とストアをmySQLに集計
HERESに私の声明:
SELECT s.name, ROUND(sum(od.price*od.quantity),2) as total, SUM(od.quantity) as items, ROUND(sum(od.price*od.quantity),2)/SUM(od.quantity) as aiv, COUNT(o.serial) as orders, ROUND(sum(od.price*od.quantity),2)/COUNT(o.serial) as aov, SUM(CASE WHEN p.type = 'B' THEN ROUND(sum(od.price*od.quantity),2) ELSE 0 END) as bikesales FROM stores as s
JOIN orders as o ON s.name = o.store
JOIN order_detail as od ON o.serial = od.orderid
JOIN products as p ON od.productid = p.id
WHERE s.live!=0 AND o.date BETWEEN '2015-01-01' AND '2017-12-31' AND (o.status=1 OR o.status=2 OR o.status=3 OR o.status=4) AND od.status=1
GROUP BY s.name
ORDER BY s.name
私は、しかし、それは店舗名のグループ化のために必要だ、それは私がInvalid use of group function
で取得エラーとして正しく動作から、これを防止することだグループだと思います。
商品タイプ別に選択したセクションは次のとおりです。SUM(CASE WHEN p.type = 'B' THEN ROUND(sum(od.price*od.quantity),2) END) as bikesales
- 私はバイクの販売総額を取得し、bikesales
と表示しようとしています。
これは可能ですか?
がhttp://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-whatを参照してください。 -sems-to-me-to-be-a-very-simple-sql-query – Strawberry