【发布时间】:2021-06-29 14:25:16
【问题描述】:
我有一个返回结果的复杂选择查询:
1_id 2_id 3_id 4_id CultureId
value1 value2 value3 a 1
value1 value2 value3 b 2
我需要以如下格式获取结果:
1_id 2_id 3_id 4_id_1 4_id_2
value1 value2 value3 a b
我能够想出这个,但也许有更好的方法来实现它?
SELECT 1_id, 2_id, 3_id, (SELECT 4_id from table where 1_id = value1 and CultureId = 1) as 4_id_1,
(SELECT 4_id from table where 1_id = value1 and CultureId = 2) as 4_id_2
from table where 1_id = value1
问题是我在我的解决方案中使用了三次的实际内部 SELECT 查询(“SELECT 1_id, 2_id, 3_id, 4_id CultureId from table where 1_id = value1”)是一个复杂的查询,并且包含的连接很少解决方案巨大。
有没有办法简化?
【问题讨论】:
-
嗨 Lia,研究枢轴函数。 cte 也可以达到同样的效果。
标签: sql sql-server select subquery