如何从4个变量在SQL中只有两个?
我有下表
并希望达到以下结果
因此,group1 和 group 2 被分组到 GROUP,quantity1/2 被分组到 QUANTITY。我尝试过交叉应用,但表格开始变得太大并且有重复项。
回答
在 SQL Server 中,我建议cross apply取消透视:
select t.date, t.fund, x.*
from mytable t
cross apply (values (t.group1, t.quantity1), (t.group2, t.quantity2)) as x(grp, qty)
横向连接是一个强大的工具。这比 更有效union all,因为表只扫描一次。