Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql xQuery-返回最大行数_Tsql_Sql Server 2008_Xquery_Xquery Sql - Fatal编程技术网

Tsql xQuery-返回最大行数

Tsql xQuery-返回最大行数,tsql,sql-server-2008,xquery,xquery-sql,Tsql,Sql Server 2008,Xquery,Xquery Sql,我在拔我漏掉的头发!结果集都很好,但我现在需要做些别的事情。这是T-SQL SELECT documentdate , x.a.value('(Date)[1]','varchar(50)') as [Date] , x.a.value('(ReadCode)[1]','varchar(50)') as [Read Code] , x.a.value('(Rubric)[1]','varchar(200)') as [Rubric] , x.a.

我在拔我漏掉的头发!结果集都很好,但我现在需要做些别的事情。这是T-SQL

SELECT  documentdate
,       x.a.value('(Date)[1]','varchar(50)') as [Date]
,       x.a.value('(ReadCode)[1]','varchar(50)') as [Read Code]
,       x.a.value('(Rubric)[1]','varchar(200)') as [Rubric]
,       x.a.value('(Notes)[1]','varchar(200)') as [Notes]
,       x.a.value('(Notes1)[1]','varchar(200)') as [Notes1]
,       x.a.value('(Episodicity)[1]','varchar(50)') as [Episodicity]
,       REF.dbo.PATs.OptedOut

FROM
EPR.dbo.PCTX_CONT t INNER JOIN
REF.dbo.PATNumbers 
ON t.PATNoID = REF.dbo.PATNumbers.PATNoID

INNER JOIN
REF.dbo.PATs ON 
REF.dbo.PATNumbers.CurrentNo = 
REF.dbo.PATs.ManorNo

CROSS APPLY
t.DocumentXML.nodes('//CONT') x(a)

WHERE REPLACE(REF.dbo.PATNumbers.CurrentNo,' ','')=123456789
结果是

2010-05-13  8I64.
2010-05-13  8I6C.
2010-02-09  8I24.
2010-02-09  8I65.
2010-02-09  8I26.
2010-02-09  8I6B.
2009-06-02  8I24.
2009-03-17  8I26.
2009-01-06  8I64.
2009-01-06  8I6C.
2006-11-14  8I74.
2006-11-14  8I75.
但是,我需要的是代码的最新一行,以便读取结果

2010-05-13  8I64.
2010-05-13  8I6C.
2010-02-09  8I24.
2010-02-09  8I65.
2010-02-09  8I26.
2010-02-09  8I6B.
2006-11-14  8I74.
2006-11-14  8I75.

我猜你的代码就是标题栏

select documentdate,[Date], [Read Code], [Rubric], [Notes], [Notes1],
[Episodicity],REF.dbo.PATs.OptedOut FROM 
(
SELECT  documentdate  
,       x.a.value('(Date)[1]','varchar(50)') as [Date]  
,       x.a.value('(ReadCode)[1]','varchar(50)') as [Read Code]  
,       x.a.value('(Rubric)[1]','varchar(200)') as [Rubric]  
,       x.a.value('(Notes)[1]','varchar(200)') as [Notes]  
,       x.a.value('(Notes1)[1]','varchar(200)') as [Notes1]  
,       x.a.value('(Episodicity)[1]','varchar(50)') as [Episodicity]  
,       REF.dbo.PATs.OptedOut  
,       row_number() over (partition by x.a.value('(Rubric)[1]','varchar(200)') 
        order by x.a.value('(Date)[1]','varchar(50)') desc) as rn
FROM  
EPR.dbo.PCTX_CONT t INNER JOIN  
REF.dbo.PATNumbers   
ON t.PATNoID = REF.dbo.PATNumbers.PATNoID  

INNER JOIN  
REF.dbo.PATs ON   
REF.dbo.PATNumbers.CurrentNo =   
REF.dbo.PATs.ManorNo  

CROSS APPLY  
t.DocumentXML.nodes('//CONT') x(a)  

WHERE REPLACE(REF.dbo.PATNumbers.CurrentNo,' ','')=123456789
) a where rn = 1

输出中两列的名称是什么?+1,但是外部选择中的最后一列可能只是
OptedOut
,没有所有的限定符(因为外部选择对
REF.dbo.PATs
表一无所知)。@AndriyM这只是你和我之间的事,不要告诉任何人。我循环使用了大部分语法,只更改了Nessary部分。我无法测试整体,我在自己的表上测试了我更改的部分,并在现有查询中替换了它。请不要担心,我不会告诉任何人。