SHOPS
+----+------------+
| id | shop_name |
+----+------------+
ORDERBOOKINGS
+-----+---------+-------------+------------+
| id | shop_id | grand_total | created_at |
+-----+---------+-------------+------------+
に(なし行)との結合条件を左に日付。私はそれがすべての店を返すことを望んでいる(それらの日付の間にある店舗の注文がない場合、total_ordersを持つものを0として返すべきである)。MySQLは、私はこのようなテーブルを取得したい右の表
注:一部のショップでは、注文表にもエントリがない場合があります。
私は次のことを試してみましたが、お店のテーブルからすべての行を返すことに失敗:
SELECT COUNT(orderbookings.id),
SUM(orderbookings.grand_total),
shops.shop_name
FROM `orderbookings`
LEFT JOIN shops
on orderbookings.shop_id = shops.id
where orderbookings.created_at BETWEEN "2015-10-22 17:02:02" AND "2017-03-07 17:02:02"
GROUP BY shops.id
どのように私はこれを達成することができます任意のアイデアを。?
ありがとうございました。
はすでに試してみました。 orderbookingsテーブルにエントリがある店舗のみが返されます。他のすべてのお店を出る。 –
@ nikhil.malik私の答えを更新しました。もう一度それを確認してください。 – Blank
現在動作中です。気高い! –