私がこれまでに得たもの:
SELECT wall_paths.wall_id, wall_paths.wall_path,
dimensions.width, dimensions.height
FROM wall_paths
LEFT JOIN wall_dimensions
ON wall_paths.wall_id = wall_dimensions.wall_id
LEFT JOIN dimensions
ON wall_dimensions.dimension_id = dimensions.dimension_id
WHERE wall_paths.wall_id = 4;
クエリは冗長な行を選択しています。wall_dimensionsテーブルに基づいて、対応するディメンションとともに2つのパスを選択したいと思います。以下のようなもの:
期待される結果
GROUP BY
クエリでの結果
上記のようなものを選択する方法を手伝ってください。
注:DISTINCT
クエリも試しましたが、エラーが返されます。
実際、クエリ結果は期待どおりです。データ的には、それを見ると理にかなっています。このクエリのデータモデルが正しく設定されていません。
フィドル(元のデータモデル):http://sqlfiddle.com/#!2 / 8c1bf / 1
フィドル(変更されたデータモデル):http://sqlfiddle.com/#!2 / 3d9b0 / 5
モデルを変更する必要があると言っているのではなく、クエリが現在のスキーマで期待どおりに実行されることを指摘するだけです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加