基本sql:在一次查询中多次选择同一列,每次出现时都依赖于不同的where子句

前端之家收集整理的这篇文章主要介绍了基本sql:在一次查询中多次选择同一列,每次出现时都依赖于不同的where子句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
执行此查询的最佳方法是什么.我有下表

列表的mytable

x y 
1 a
2 b
3 c

我想(在伪sql中)

select x as x1,x as x2,x as x3 from mytable where ????

什么时候

x1 is x where y=a

x2 is x where y=b

x3 is x where y=c

所以我想结果

1,2,3

我目前正在使用cte和一个非常大的数据集,我试图减少查询时间,是否总是需要进行3次表扫描?

解决方法

您应该使用3个查询.在自连接时使用适当的索引会更快.此外,它将更具可读性.

如果你想要一个查询调用,它可能是这个:)

SELECT
(SELECT x FROM table WHERE y=1) AS x1,(SELECT x FROM table WHERE y=2) AS x2,(SELECT x FROM table WHERE y=3) AS x3

猜你在找的MsSQL相关文章