mysqlの複雑なクエリについては約200のサンプルページを研究していますが、それにはまっています。Mysqlの複雑な4つのテーブルからクエリを選択
これは私のstucture
Table name: zones
zoneId | zoneName
------------------
Table name: customers
customesId | zoneId | customerName
----------------------------------
Table name: products
productId | productName
-----------------------
Table name: sales
sid | zoneId | customerId | productId | amount
----------------------------------------------
のみ、クエリで次の出力を取得することが可能ですか?
私が "0" であっても、顧客や製品として取得したいzoneName | customerName | productName | amount(SUM)
---------------------------------------------------
ZoneX | customerA | productName_1 | 10
| | productName_2 | 0
| | productName_3 | 4
| | productName_4 | 0
ZoneX | customerB | productName_1 | 7
| | productName_2 | 0
| | productName_3 | 4
| | productName_4 | 3
.......
は
は販売を持っていない私が試した:
SELECT zones.zoneName
, customers.customerName
, products.productName
, SUM(amount) AS amount
FROM customers
INNER JOIN zones
ON customers.zoneId = zones.zoneId
LEFT JOIN sales
ON customers.customerId = sales.customerId
LEFT JOIN products
ON sales.productId = products.productId
はい可能です。なぜ私はあなたがゾーンXと顧客Aをすべてのレコードに表示したくないのか分かりません。さらに、0レコードを取得するには、外部結合を使用する必要があります。 – xQbert
あなたは '額(金額、0)を金額として合計する必要があるように見え、売上がないときに処理する製品に各顧客を参加させる必要があります。 – xQbert
アプリケーションレベルのコードでデータ表示の問題を扱うことを真剣に検討してください。 – Strawberry