内部で3つの異なるIDと別のIDのIDを持つテーブルを結合するクエリを作成する必要があります。クエリを選択します。私はそれをもう少し明確にしようとします。私の一つのテーブルで複数のID列を複数の名前列に表示するために、外部テーブル内のIDを持つ複数のID列を結合する
私は、IDのとこれらの3列があります。
Book_Sommerhuse.[BS_ID]
:
Book_Kalender.BS_ID,
Book_Kalender.BS_ID_Prio2,
Book_Kalender.BS_ID_Prio3,
は、これらのすべては、これらのIDに関連付けられた名前が含まれている別のテーブルの列、と結合インナーする必要があります
SELECTクエリでは、外部テーブルの名前列を含めています。代わりに3つの列があり、それぞれにIDに対応する名前が関連付けられています。私の選択クエリから
INNER JOIN Book_Kalender ON Book_Sommerhuse.[BS_ID] = Book_Kalender.[BS_ID]
AND Book_Sommerhuse.[BS_ID] = Book_Kalender.[BS_ID_Prio2]
しかし、この戻り、空のビュー:
Book_Sommerhuse.BS_Navn
は、これまでのところ私は、複数の内部は、ANDキーワードを使用して加入させることを試みました。また、IDに関連付けられた名前ごとに新しい列を作成する方法もわかりません。
全クエリ:
SELECT
Book_Kalender.BK_ID,
Book_Kalender.BK_DatoFra,
Book_Kalender.BK_DatoTil,
Book_Kalender.BK_M_Navn,
Book_Kalender.BK_M_Adr,
Book_Kalender.BK_M_PostBy,
Book_Kalender.BK_M_Afd,
Book_Kalender.BK_M_MedArbNr,
Book_Kalender.BK_M_Tlf,
Book_Kalender.BK_M_Email,
Book_Kalender.BK_Tidl_Lejet,
Book_Kalender.BK_Tidl_Lejet_Txt,
Book_Kalender.BS_ID,
Book_Kalender.BS_ID_Prio2,
Book_Kalender.BS_ID_Prio3,
A.BS_Navn as BS_Navn1,
B.BS_Navn as BS_Navn2,
c.BS_Navn as BS_Navn3,
coalesce(A.BS_Navn,B.BS_Navn,c.BS_Navn) as BS_Navn
FROM
Book_Kalender
LEFT JOIN Book_Sommerhuse A ON
Book_Kalender.BS_ID = A.BS_ID
LEFT JOIN Book_Sommerhuse B ON
Book_Kalender.BS_ID_Prio2 = B.BS_ID
LEFT JOIN Book_Sommerhuse C ON
Book_Kalender.BS_ID_Prio3 = C.BS_ID
WHERE
Book_Kalender.BK_DatoFra BETWEEN #10/15/2017# AND #12/31/2018#;
Book_KalenderテーブルのIDはすべて同じ名前か別の名前を参照していますか? –
あなたのBook_Kalendarテーブルは正規化する必要があると思います。同じテーブル内の複数のカラムに同じものを格納するときはいつでも、それらのIDを含むサブテーブルのために、外部キーを親テーブルに戻します。 – ADyson
これらは異なるIDであるため、Book_Sommerhuseテーブルの異なる名前を参照します。 – Leth