Tsql 基本t-sql中的帮助请求
下面是一张表Tsql 基本t-sql中的帮助请求,tsql,Tsql,下面是一张表 stu_id meet_doc_id doc_name stu_name dob value date 101 0104 AD AM 15/06/1950 LMDO 2011-02-15 101 0105 AD AM 15/06/1950 CLEAR 2011-0
stu_id meet_doc_id doc_name stu_name dob value date
101 0104 AD AM 15/06/1950 LMDO 2011-02-15
101 0105 AD AM 15/06/1950 CLEAR 2011-02-18
101 0106 AD AM 15/06/1950 CLEAR 2011-02-25
102 0107 AD AK 12/08/1987 CLEAR 2011-03-28
102 0108 AD AK 12/08/1987 LDMO 2011-04-29
103 0109 PK LMP 13/07/1970 CLEAR 2011-03-28
103 0110 PK LMP 13/07/1970 CLEAR 2011-05-12
如果我希望看到的结果集是
stu_id meet_doc_id doc_name stu_name dob value date
101 0104 AD AM 15/06/1950 LMDO 2011-02-15
102 0107 AD AK 12/08/1987 CLEAR 2011-03-28
103 0110 PK LMP 13/07/1970 CLEAR 2011-05-12
你的桌子看起来非常不正常,有很多重复的组,但我认为你需要
;WITH CTE
AS (SELECT stu_id,
meet_doc_id,
doc_name,
stu_name,
dob,
value,
date,
ROW_NUMBER () OVER (PARTITION BY stu_id ORDER BY meet_doc_id) AS
RN
FROM YourTable)
select stu_id,
meet_doc_id,
doc_name,
stu_name,
dob,
value,
date
FROM CTE
WHERE RN = 1
你用什么逻辑来达到你的预期结果?这相当不清楚。取决于查询!也许再仔细考虑一下这个问题。@Matt-看起来他们想要每个
stu\u id
组的第一行,按meet\u doc\u id
的顺序排列。帕勒姆早些时候发布了一些几乎同样神秘的东西。之前的帖子与价值有关,但现在看来一切都改变了。我需要找到的是那个对那个特殊医生有价值的学生。如果没有LMDO出席,那么它应该显示清楚。马丁,如果你看一下我之前关于CTE的问题。你会明白的。它不是一个表,而是CTE中查询的结果集。