0

私は db スキーマを持っていますが、T-SQL にはあまり詳しくありません。ORM が私を台無しにしていることはわかっています。開発者:)

これがスキーマです。

Table1 1 - 1 から 3 つのテーブル (Table2、Table3、Table4) および各 Table(2,3,4) 1 - 1 から Table5。

グラフ (試行) 表現:

Table1  1<->1 Table2 1<->1 Table5
        1<->1 Table3 1<->1 Table5
        1<->1 Table4 1<->1 Table5

すべての Table1 レコードとそれらに対応する関係データ、Table1、Table2、Table3、およびそれらの関係データを Table5 に取得するためのクエリが必要です。

どんな助けでも感謝します。ありがとうございました。

4

2 に答える 2

0

完全なテーブル構造と列名が表示されなくても、次のような方法でテーブルを結合できるはずです。

select *
from table1 t1
left join table2 t2
    on t1.id = t2.id
left join table3 t3
    on t1.id = t3.id
left join table4 t4
    on t1.id = t4.id
left join table5 t5
    on t2.id = t5.id
    or t3.id = t5.id
    or t4.id = t5.id
于 2012-12-13T19:40:37.890 に答える
0

私が実際に必要としていたのはこれでした:

SELECT F.*, DE.Title as EnergyDrinkTitle, DE.[Picture] AS EnergyPicture, DI.Title AS InspDrinkTitle, DR.Title AS RelaxDrinkTitle 
FROM
(Select M.*, E.DescriptionTitle, I.[DescriptionTitle], R.DescriptionTitle, 
E.[DrinkId] as EnergyDrink, I.DrinkId as InspDrink, R.[DrinkId] as RelaxDrink
FROM  [Member] M
LEFT JOIN [Energy] E
    ON M.[_id] = E.[MemberId]
LEFT JOIN [Inspiration] I
    ON M.[_id] = I.[MemberId]
LEFT JOIN [Relax] R
    ON M.[_id] = R.[MemberId]
) AS F JOIN Drink DE ON F.EnergyDrink = DE._id
JOIN Drink DI ON F.InspDrink = DI._id
JOIN Drink DR ON F.RelaxDrink = DR._id
于 2012-12-14T11:08:29.287 に答える