请参阅以下数据..
表A
AID NAME
1 A
2 B
3 C
4 D
5 E
6 F
表B
BID AID NAME
1 1 T1
2 1 T2
3 2 T3
4 2 T4
5 3 T5
6 4 T6
7 1 T7
8 1 T8
9 2 T9
10 2 T10
11 3 T11
12 4 T12
我正在使用此声明
SELECT
dbo.A.NAME AS ANAME, dbo.B.NAME AS BNAME
FROM
dbo.A
LEFT OUTER JOIN
dbo.B ON dbo.A.AID = dbo.B.AID
它返回了这些结果:
ANAME BNAME
A T1
A T2
A T7
A T8
B T3
B T4
B T9
B T10
C T5
C T11
D T6
D T12
E NULL
F NULL
但我需要以下结果
ANAME BNAME
A T1
T2
T7
T8
B T3
T4
T9
T10
C T5
T11
D T6
T12
E NULL
F NULL
如何从上面删除多余的名字?
答案 0 :(得分:1)
我想如果在SQL中绝对需要这样做,可以做类似以下的事情,因为它是演示文稿。
get
答案 1 :(得分:1)
试试这个
SELECT CASE WHEN ROW_NUMBER() OVER ( PARTITION BY A.NAME ORDER BY A.NAME ) = 1
THEN A.NAME
ELSE ''
END AS ANAME ,
dbo.B.NAME AS BNAME
FROM dbo.A
LEFT OUTER JOIN dbo.B ON dbo.A.AID = dbo.B.AID;
答案 2 :(得分:0)
您可以使用以下SQL查询来获得所需的输出:
chrome://flags/#extensions-on-chrome-urls