SELECT C.CarID, C.Make, Y.Year, M.Model , e.Engine
FROM Car C
INNER JOIN CarYear CY ON CY.CarID = C.CarID
INNER JOIN Year y ON y.YearID = CY.YearID
INNER JOIN Model m ON m.CarID = C.CarID
INNER JOIN Engine e ON e.ModelId = m.ModelID
私は SQL SERVER を初めて使用します。この問題の解決方法を教えてください。すべての表、車、年、モデル、エンジンを分けます。ブリッジ テーブル dbo.CarYear と dbo.ModelYear にクロス結合を設定すると、このクエリが作成され、結果は次のようになります。
1 Acura 1999 ILX 1.5 L LR ELECT/GAS
1 Acura 1999 ILX 2.0 L L4 SOHC
1 Acura 1999 ILX 2.4 L L4 DOHC
1 Acura 1999 RDX 3.5 L V6
1 Acura 1999 RLX 3.5 L V6
1 Acura 1999 MDX 3.7 L V6
1 Acura 2000 ILX 1.5 L LR ELECT/GAS
1 Acura 2000 ILX 2.0 L L4 SOHC
1 Acura 2000 ILX 2.4 L L4 DOHC
1 Acura 2000 RDX 3.5 L V6
1 Acura 2000 RLX 3.5 L V6
1 Acura 2000 MDX 3.7 L V6
1 Acura 2001 ILX 1.5 L LR ELECT/GAS
1 Acura 2001 ILX 2.0 L L4 SOHC
1 Acura 2001 ILX 2.4 L L4 DOHC
1 Acura 2001 RDX 3.5 L V6
1 Acura 2001 RLX 3.5 L V6
1 Acura 2001 MDX 3.7 L V6
1 Acura 2002 ILX 1.5 L LR ELECT/GAS
1 Acura 2002 ILX 2.0 L L4 SOHC
1 Acura 2002 ILX 2.4 L L4 DOHC
1 Acura 2002 RDX 3.5 L V6
1 Acura 2002 RLX 3.5 L V6
1 Acura 2002 MDX 3.7 L V6
1 Acura 2003 ILX 1.5 L LR ELECT/GAS
1 Acura 2012 ILX 1.5 L LR ELECT/GAS
1 Acura 2012 ILX 2.0 L L4 SOHC
1 Acura 2012 ILX 2.4 L L4 DOHC
1 Acura 2012 RDX 3.5 L V6
1 Acura 2012 RLX 3.5 L V6
1 Acura 2012 MDX 3.7 L V6
1 Acura 2013 ILX 1.5 L LR ELECT/GAS
1 Acura 2013 ILX 2.0 L L4 SOHC
1 Acura 2013 ILX 2.4 L L4 DOHC
1 Acura 2013 RDX 3.5 L V6
1 Acura 2013 RLX 3.5 L V6
1 Acura 2013 MDX 3.7 L V6
ご覧のとおり、どの年のすべての Acura にも同じモデルがあります。たとえば、ブリッジ テーブルにデータを入力する前に一部の Car モデルを削除するにはどうすればよいですか (たとえば、Acura ILX は 2013 年からのみ開始されました)。