0
下面的代码应该从多个表中跨2个数据库 抢多个值,但正如我试图实现 T-SQL select rows by oldest date and unique category解决我遇到了一个错误的位置我的代码的最后一行会说的一个问题“不正确语法靠近')'。“只选择最老的唯一的记录
--Create Table #tmp2(FK_clientids varchar(50))
--Create table #tmp (phonenums varchar(50))
Delete from #tmp2
Delete from #tmp
Use Database2
INSERT INTO #tmp2
SELECT fk_clientid
FROM DM_ClientApplicants
where DM_ClientApplicants.FK_ApplicationID in (39155)
Use Database2
INSERT INTO #tmp
Select phonenum2 from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
INSERT INTO #tmp
Select PhoneNum1 from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
INSERT INTO #tmp
Select PhoneNum2 from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
INSERT INTO #tmp
Select PhoneNum3 from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
INSERT INTO #tmp
Select Partnerphonehome from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
INSERT INTO #tmp
Select Partnerphonemobile from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
INSERT INTO #tmp
Select Partnerphonework from DM_PhoneNumbers
where FK_ApplicationID in
(
Select FK_clientIDs from #tmp2
)
Use Database1
Select PhoneNum,sourcetable,c.FK_ApplicationID,SolRef,DT.Subject,dt.CreatedDate
from (select PhoneNum,sourcetable,c.FK_ApplicationID,SolRef,DT.Subject,dt.CreatedDate,
row_number() over(partition by OrderNO order by dt.CreatedDate desc) rn
from Dial D
join Database2.dbo.DM_PhoneNumbers P on PhoneNum collate Latin1_General_CI_AS = PhoneNum1
join Database2.dbo.DM_ClientApplicants C on P.FK_ApplicationID = C.FK_ClientID
join Database2.dbo.DM_Sol S on C.FK_ApplicationID = S.FK_ApplicationID
join Database2.dbo.DM_ApplicationDetails AD on AD.FK_ApplicationID = S.FK_ApplicationID
join Database2.dbo.Tasks DT on DT.FK_ApplicationID = S.FK_ApplicationID
where PhoneNum in
(Select phonenums from #tmp)
UPDATE:这么近“RN”支架是开放的,但如果我尝试关闭它的语句的其余部分是不理解,任何人都知道为什么吗?