2016-08-05 25 views
0

多対多リレーションシップのクエリを実行しようとしています。今私は、私はインデックス122123124ごとに3行を返すように期待していたときには結果を取得しない問題を抱えている誰もが私の誤りを指摘することができ、クエリジャンクションテーブル - 多対多リレーションシップ

SELECT * FROM [Moldingdata].[dbo].[mach_part_junction] ORDER BY [machinename] ASC 

SELECT MachineList.machinename ,JDEPARTIMGLU.Jde_part_num 
from mach_part_junction 
INNER JOIN MachineList on mach_part_junction.machinename = machinelist.Machine_ID 
INNER JOIN JDEPARTIMGLU on mach_part_junction.machinename = machinelist.Machine_ID 
WHERE mach_part_junction.machinename= 'MM01' 

結果ありがとう:

machinename ndx_jde_part_img 
----------- ---------------- 
MM01  122 
MM01  123 
MM01  124 
MM04  122 
MM15  124 
MM17  122 
MM32  122 
MM32  123 

(8 row(s) affected) 


machinename Jde_part_num 
----------- -------------------- 

(0 row(s) affected) 

答えて

1

2番目と3番目のテーブルの結合条件は同じです。

3番目のテーブルの結合条件が変更する必要があるようです。

0

私はこのようなクエリを解決するとき、私は、一般的に次のようにします(表が大きすぎない場合)、その後

SELECT * 
    FROM mach_part_junction 
    INNER JOIN MachineList on mach_part_junction.machinename = machinelist.Machine_ID 
INNER JOIN JDEPARTIMGLU on mach_part_junction.machinename = machinelist.Machine_ID 

WHERE:

SELECT * 
FROM mach_part_junction 
INNER JOIN MachineList on mach_part_junction.machinename = machinelist.Machine_ID 

は、その後、私は次のJOINを追加

あなたは何が起こっているかを見ることができます。

関連する問題