将多行合并为一个

时间:2020-09-06 19:05:05

标签: sql sql-server

我有一个表,其中每个tran_ref列值将有3行或更多行,并且每行将具有数量以及tran_id

以下是我的输入表-我希望其他表中的每个tran_ref都有一行

tran_ref | tran_id | amount | Currency | Date
---------+---------+--------+----------+-----------
T1       |  01     |    9.  | USD      | 02-09-2020
T1       |  02     |   -8.  | INR      | 03-09-2020
T1       |  03     |   -1.  | INR      | 03-09-2020

需要更新的结果

tran_ref | amount_01 | amount_02 | amount_03 | count | cur1 | cur23 | date1
---------+-----------+-----------+-----------+-------+------+-------+------
   T1    |      9    |     -8    |    -1     |   3   | USD  | INR   | 02-092020

请注意,currency1应该来自tran_id = 1currency23来自tranId23,日期应该仅来自tran_id 1

2 个答案:

答案 0 :(得分:3)

只需使用条件聚合:

<div id=test></div>

答案 1 :(得分:2)

您可以将以下查询与CTE和case一起使用以获取所需的结果:

== true
相关问题