2
假设我正在连接表,意图生成将某些行转换为列的最终表。 FK是一个外键约束,信息1和信息2被用来返回要么日期或空SQL Server:连接,重复记录和联合
FK1 | Info1 | Date1
FK1 | Info2 | Date2
FK2 | Info1 | Date1
FK2 | Info2 | Date2
我要回应该是这样的表格:
FK1 | Date1 | Date2
FK2 | Date1 | Date2
相反,什么返回是:
FK1 | Date1 | Date2
FK1 | Date1 | Date2
FK2 | Date1 | Date2
FK2 | Date1 | Date2
在阅读了一些其他帖子后,似乎我需要联合这个工作,但我不知道该把它放在哪里。我实际的查询低于:
select c.idContract,
c.sgCommonName,
cl.sgClientTitle,
cl.sgHomeAddress,
cl.sgLetterCasual,
c.sgLotAddress,
ffd.sgCaption,
ffv.sgTextValue,
case when fkidffdefinition = 1161 then dtDateValue end as '11 Day',
case when fkidffdefinition = 1162 then dtDateValue end as '30 Day'
from
tblContracts c
inner join tblClients cl on cl.idClient = c.fkidClient
inner join tblFlexFieldValues ffv on ffv.fkidcontract = c.idContract
inner join tblFlexfieldDefinition ffd on ffd.idFlexFieldDefiniition = ffv.fkidFFDefinition
where ffd.idFlexFieldDefiniition in (1161,1162)
的问题是,加入正在加入这些值(1161,1162)
,但我不明白如何“串联”的连接(如果是有道理的)
干杯。
您能否提供一些实际的数据和符合您实际查询的结果? –
使用[SQLFiddle](http://sqlfiddle.com/)发布示例。 – EfrainReyes