gpt4 book ai didi

sql-server - 在查询中定义的列别名如何在sql server中的同一个查询中使用where子句

转载 作者:行者123 更新时间:2023-12-01 12:25:58 29 4
gpt4 key购买 nike

SELECT users.first_name, users.last_name, users.email,
(case
when user.AT_ST ='A' then 'Act'
when user.AT_ET = 'E' then 'Est'
end ) as Act_Est
FROM users LEFT OUTER JOIN locations
ON users.id = locations.user_id
WHERE Act_Est IN (' ')

这里这个别名想在同一个查询中使用,而不是用其他子查询创建。因为如果我使用其他选择子查询,它会获取第一个内部子查询并首先检索所有数据,然后应用 where 条件。

所以需要一些帮助。

最佳答案

使用With语句:

;WITH T AS
(
SELECT
users.first_name,
users.last_name,
users.email,
(case when user.AT_ST ='A' then 'Act' when user.AT_ET = 'E' then 'Est' end ) as Act_Est
FROM users
LEFT OUTER JOIN locations ON users.id = locations.user_id
)
SELECT
*
FROM T
WHERE T.Act_Est IN (' ')

With 语句是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集

关于sql-server - 在查询中定义的列别名如何在sql server中的同一个查询中使用where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39609632/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com