0

私はMysqlにかなり慣れていないので、注文の合計から各「ストアID」の「合計」を与える2つのmysqlクエリを結合しようとする助けが必要です。現在、結果を取得するために 2 つのクエリを使用しています。

SELECT storeid, storenum, name  FROM store ORDER BY storeid DESC

SELECT SUM((1+0.07125)*qty*discprice) as total FROM items WHERE orderid IN (SELECT orderid      FROM orders WHERE store = '".$row['storeid']."' AND date >= '2012-01-01' AND date < '2013-01-01')

while ループを実行し、「storeid」を使用して 2 番目のクエリを実行しています。ただし、これを実行できるのは 1 つのクエリであり、「storeid」でグループ化して、すべての店舗を組み合わせた合計を作成できることはわかっています。しかし、私はそれを理解することはできません。

ありがとう!

4

2 に答える 2

1
SELECT s.storeid, s.storenum, s.name
       SUM((1+0.07125)*i.qty*i.discprice) AS total
FROM items AS i
LEFT JOIN orders AS o 
    ON i.orderid=o.orderid
LEFT JOIN stores AS s 
    ON o.store=s.storeid
WHERE o.date >= '2012-01-01'
  AND o.date < '2013-01-01'
GROUP BY s.storeid, s.storenum, s.name;
于 2013-03-08T00:44:25.980 に答える