【发布时间】:2013-02-25 02:58:31
【问题描述】:
我需要在 DBName 列上加入以下 2 个表:
表 A
ProductName DbName ServerName
A DB1 sername
B DB2 sername
C DB3 sername
D DB3 sername
表 B
ID DBName ObjectName
1 DB3 objC
2 DB2 objD
3 DB3 objD
4 DB1 objD
这样我就可以获得具有以下列的最终表格(即表 B + 产品名称的所有列):
ID DBName ObjectName ProductName
正如您从表 A 中看到的,我有与 2 个不同的 ProductName(C 和 D)相关的 DB3,这会导致多对多关系(即,如果 col 在连接后有 DB3,它会变成 2 行,其中一行显示 C在 ProductName 中,一个是 D。)
我想做的是通过如果 ObjectName 是 ObjD 则 ProductName 是 D 并且如果 ObjectName 是 ObjC 那么 ProductName 是 C 的条件来获得 1-1 关系。
如果有人能指出正确的方法来解决这个问题,我将不胜感激......
谢谢!!
【问题讨论】:
-
Re:“如果 ObjectName 是 ObjD,那么 ProductName 是 D”:这不会消除 ID = 2 和 ID = 4 的行吗?
-
我会把它放在代码的什么地方呢?应该在连接附近的某个地方?
-
你为什么不发布你想要的输出?这将有助于澄清你想要什么。
标签: sql sql-server sql-server-2008 join