繁体   English   中英

mysql查询从三个表中选择数据

[英]mysql query to select data from three tables

wall_paths(表)

wall_paths

wall_dimensions

在此处输入图片说明

尺寸(参考表)

在此处输入图片说明

到目前为止,我得到的是:

询问

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

小提琴(修改后的数据模型): http ://sqlfiddle.com/#!2/3d9b0/5

并不是说您应该更改模型,只是指出查询在当前模式下按预期运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM