墙路径(表)
墙壁尺寸
尺寸(参考表)
到目前为止我得到的是:
查询
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表选择两条路径以及相应的维度。如下所示:
预期结果
查询中有
GROUP BY
的结果请帮助选择像上面这样的东西。
注意:我在查询中也尝试了
DISTINCT
,但返回了一个错误。 最佳答案
实际上,查询结果与预期一致。从数据上看,这是有意义的。此查询的数据模型设置不正确。
小提琴(原始数据模型):http://sqlfiddle.com/#!2/8c1bf/1
Fiddle(修改的数据模型):http://sqlfiddle.com/#!2/3d9b0/5
不是说您应该更改模型,而是指出查询在当前模式下按预期运行。
关于mysql - mysql查询从三个表中选择数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24350532/