我正在使用设计糟糕的数据库,但遇到了一些问题。
我有两个表需要加入“非唯一 ID”。如果出现错误,当前与数据库一起使用的软件会在 id 中设置一个“0 值”。这意味着如果我尝试加入它们,则会在 0 值上加入大量记录。
在两个表及其不唯一的 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 唯一的选项。