設計が不適切なデータベースを使用していますが、問題が発生しました。
「一意ではないID」で結合する必要のあるテーブルが2つあります。現在データベースで動作しているソフトウェアは、エラーが発生した場合、IDに「0値」を設定します。これは、それらを結合しようとすると、0の値で大量のレコードが結合されることを意味します。
2つのテーブルとそれらの一意ではないIDフィールドの例の下に、それらを結合したい
tbl1 tbl2
-----------
2 2
3 6
4 5
0 3
0 4
6 0
5 0
----------
私が達成したいのはこれです
tbl1 tbl2
-----------
2 2
3 3
4 4
0 * (no join)
0 * (no join)
6 6
5 5
----------
つまり、tbl1の「0値」をtbl2の他のすべての「0値」と結合させたくありません。私はまだ結合なしでレコードtbl1を持ちたいです。
これは1つのクエリで可能ですか?
追加情報:SQL SERVER 2005であり、IDを一意にするオプションはありません。