多くの共通フィールドを持つ 2 つのテーブルのビューを作成しようとしています。
両方のテーブルに存在するフィールドは、新しいビューの 1 つのフィールドの下に存在する必要があります。ここでいくつかの投稿を見つけましたが、やりたいことを行うために使用することを提案したものを見失った別の投稿を見つけましたが、私はこれにまったく慣れておらず、答えは少し混乱していUNION
ました。衝突しないすべてのフィールドを選択する必要があると思います。次に、テーブルに共通するすべてのフィールドを組み合わせたステートメントから残りを選択しますがFULL OUTER JOIN
、どのように機能しますか?data
elong
UNION ALL
FULL OUTER JOIN
ビュー内の行数を各テーブルの行数の合計と同じに保つために必要だと思いますFULL OUTER JOIN
が、よくわかりません。
多分これは私の解決策ですか?CROSS JOIN
ただし、 a will が同様のフィールドでどのように機能するかはわかりません。
これらを結合する方法に関心がある方のために、私は両方のテーブルから各行を取得して、それらを新しいビューに配置しようとしています。私の問題は重複したフィールド (c2、footnote1、footnote2 など) が原因です。それらを c2、footnote1、footnote2 のままにしたいのですが、生成されたエイリアスを受け取り続けます。c2 であるすべてのものは、それがどのシートからのものであっても、c2 です。
編集:以下の回答のおかげで、これが私が今書いているものであり、私が欲しいもののようです. ただし、フィールドの数が多いため、永遠にかかります。これを行うより良い方法はありますか?より自動化された何か?
Edit2:これは、将来誰かに役立つ場合に備えて、完全なクエリがどのように見えるかです。時間がかかったので、これを行うためのより自動的な方法があることを願っています。助けてくれたすべての人に感謝します!
SELECT ID, tableNum, UTC, colNum, c1, c2, null AS c3, c4, colRow, footnote1, footnote2, footnote3, footnote4,
property, orientation, specimenDesign, exposTempMinF AS exposTempFMin, exposTempMaxF AS exposTempFMax,
exposTempRTMinF AS exposTempFRTMin, exposTempRTMaxF AS exposTempFRTMax, designValueRoomTempF_A,
designValueRoomTempF_T99 , designValueRoomTempF_B ,
designValueRoomTempF_S , designValueRoomTempF_Typical, designValueRoomTempF_Estimate,
designValueRoomTempF_Units , conversionFactor, null AS form, null AS thickRangeInMin, null AS thickRangeInMax,
null AS widthRangeInMin, null AS widthRangeInMax, null AS areaInSqrMin, null AS areaInSqrMax, note
FROM dbo.[DesignAllowables-Data] AS data
UNION ALL
SELECT ID, tableNum, UTC, colNum, null, c2, c3 , null, colRow, footnote1, footnote2, null , null ,
property, orientation, specimenDesign, exposTempF_min AS exposTempFMin, exposTempF_max AS exposTempFMax,
exposTempRTF_min AS exposTempFRTMin, exposTempRTF_max AS exposTempFRTMax, designValueRTF_A AS designValueRoomTempF_A,
designValueRTF_T99 AS designValueRoomTempF_T99, designValueRTF_B AS designValueRoomTempF_B,
designValueRTF_S AS designValueRoomTempF_S, null , null ,
designValueRTF_Units AS designValueRoomTempF_Units, conversionFactor, form , thickRangeInMin , thickRangeInMax,
widthRangeInMin , widthRangeInMax , areaInSqrMin , areaInSqrMax , note
From dbo.[DesignAllowables-Elong-RA] AS elong