私は4つのテーブルを持っています。 領域,土地,ハウスおよび商品。Mysqlはjoin、sum、group_byを残しました
- 土地は1対1の関係を持っています。 領域。 1対多のrelsを持って
- 土地。 ハウスです。 1対多のrelsを持って
- 家。 商品である。
sqlfiddle:http://sqlfiddle.com/#!9/5eaec
現在のクエリ:
SELECT
Sum(land.wide) AS land_wide,
Sum(house.price) AS house_price,
Sum(goods.amount) AS goods_amount,
Sum(goods.price) AS goods_price,
region.region_name
FROM
land
LEFT JOIN house ON house.land_id = land.id
LEFT JOIN goods ON goods.house_id = house.id
LEFT JOIN region ON land.region_id = region.id
GROUP BY
region.region_name
ORDER BY
region.id ASC
ではなく、期待通りに動作します。
所望の出力:
+-----------+-------------+-------------+--------------+---------+
| land_wide | house_price | goods_price | goods_amount | region |
+-----------+-------------+-------------+--------------+---------+
| 510 | 57910 | 1900 | 56 | Tokyo |
| | | | | Osaka |
| | | | | Nagoya |
| | | | | Sapporo |
+-----------+-------------+-------------+--------------+---------+
は、誰かが親切に私に役立つだろうソリューションを提供しますか?私はそれがSQLでできていると確信していますか?
達成しようとしていることを詳しく説明できますか?最高の住宅価格を持つ地域を手に入れようとしていますか? – PseudoAj
@PseudoAj私は(SUM)各要素を地域に基づいて計算しようとしています。 – JasonMo
「札幌」は651の土地合計を持っていませんか? – zedfoxus