Php 基于相同编号和顺序的MSSQL连接行
我是SQL查询新手。我有一个问题,当我们有相同的编号并按订单编号排序时,如何加入MSSQL中的行。谢谢 输入:Php 基于相同编号和顺序的MSSQL连接行,php,sql,join,Php,Sql,Join,我是SQL查询新手。我有一个问题,当我们有相同的编号并按订单编号排序时,如何加入MSSQL中的行。谢谢 输入: No order Character === ====== ============ 1 3 A 1 2 B 1 1 C 2 3 D 2 2 E 2 1
No order Character
=== ====== ============
1 3 A
1 2 B
1 1 C
2 3 D
2 2 E
2 1 F
输出:
No Character
========= ============
1 CBA
2 FED
如果您知道SQL Server中的最大顺序,则可以轻松使用条件聚合:
select no,
( max(case when [order] = 1 then character else '' end) +
max(case when [order] = 2 then character else '' end) +
max(case when [order] = 3 then character else '' end)
)
from t
group by no;
如果没有,则需要XML技巧:
select no,
(select character
from t
where t.no = n.no
for xml path ('')
) as output
from (select distinct no from t) n;
在MySQL中,您将使用
GROUP_CONCAT()
和GROUP by
我只使用了一个表,但在您的代码中有两个表“t.no=n.no”表t和表n。@rizaln
是子查询上的别名,而不是另一个表。@rizal应该是“path”而不是“plath”