如果客户有权选择将其设置为一个地址当前,没有必要为第二个关系,所以你可以做这样的事情
SELECT Client.ID ClientID, Address.ID AddressID,
CASE WHEN Client.Current_Address_Id = Address.ID THEN 'Current Address' ELSE '' END Current
FROM Client LEFT JOIN Address ON Client.ID = Address.Client_ID
你会得到类似
ClientID | AddressID | Current
1 20 'Current Address'
1 35
1 15
2 18 'Current Address'
.
.
.
如果添加第二个条件
SELECT Client.ID ClientID, Address.ID AddressID,
CASE WHEN Client.Current_Address_Id = Address.ID THEN 'Current Address' ELSE '' END Current
FROM Client LEFT JOIN Address ON Client.ID = Address.Client_ID AND Client.Current-Address_ID = Addres.ID
您将得到类似
ClientID | AddressID | Current
1 20 'Current Address'
2 18 'Current Address'
.
.
.
希望它可以帮助...
的地址可以连接到许多客户?和一个客户到很多地址'? – 2012-08-16 22:30:20
'ADDRESS [CLIENT_ID]> ---> CLIENT [ID]'不是一对多的,它是一对一的。这将声明给定的ADDRESS记录只能属于一个CLIENT。尽管客户端可能有许多指向它的ADDRESS记录。 – 2012-08-16 22:39:36
@JeremyPridemore其实我的意思是一个客户有很多地址 – gisek 2012-08-16 23:02:33