簡體   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