2012-04-23 7 views
1

は、データベースの構造を以下の通りです:1つの別個のテーブル - カラムで複数の参照が可能ですか?考える

製品:いくつかのメーカーも下請けであるため、

- id 
- model 
- manufacturerID 
- subcontractorID 

manufacturerIDとsubcontractorIDは、1と同じテーブルに参照されています

メーカー:

- id 
- name 

これらの列を両方とも選択したい場合、どうすればいいですか?

私はこのような何かを試してみました...

SELECT p.model, m.name AS Manufacturer, m.name AS Subcontractor 
FROM Product AS p 
LEFT JOIN Manufacturers AS m ON p.manufacturerID = m.id 
LEFT JOIN m ON p.subcontractorID = m.id 

...しかし、私は両方のカラムの値のいずれかを得ることができます。閉じる

答えて

1

- あなたは二回メーカーテーブルに参加する必要があります。

SELECT 
    p.model, manufacturer.name AS Manufacturer, 
    subcontractor.name AS Subcontractor 
FROM Product AS p LEFT JOIN 
    Manufacturers AS manufacturer 
    ON p.manufacturerID = manufacturer.id LEFT JOIN 
    Manufacturers AS subcontractor 
    ON p.subcontractorID = subcontractor.id 
+0

感謝を! – macstens

0

この方法を試してください。迅速な対応のための

LEFT JOIN Manufacturers AS mman ON p.manufacturerID = mman.id 
LEFT JOIN Manufacturers AS msub ON p.subcontractorID = msub.id 
関連する問題