gpt4 book ai didi

sql使用别名

转载 作者:搜寻专家 更新时间:2023-10-30 23:22:55 26 4
gpt4 key购买 nike

我似乎在理解使用 AS 创建别名以及稍后使用该别名的概念时遇到了一些麻烦。这是一个非常简单的查询示例,但我在运行时遇到错误:

SELECT IP,  
(SELECT server_ip as IP
FROM table1
WHERE start_time BETWEEN @startdate AND @enddate
Group By server_ip)X
Group By IP

我希望它只返回 server_ip 列中第二个选择语句的结果。但是我收到一条错误消息,指出 IP 不是无效的列名。有人可以向我解释如何正确执行此操作吗?

最佳答案

SELECT IP,
(
SELECT server_ip as IP
FROM table1
WHERE start_time BETWEEN @startdate AND @enddate
Group By server_ip
)X
/*FROM WHERE ? <--------------- */
Group By IP

此时你的SELECT语句是

SELECT IP, X
GROUP BY IP

您需要一个 FROM 子句。 X 目前是一个不相关的子查询。我怀疑您想将其视为派生表,但即便如此,查询也没有任何意义。无需执行两次相同的 GROUP BY 操作。

根据您的 RDBMS,您也许还可以使用公用表表达式。这是它们的使用的一个有点人为的例子。

;WITH X AS
(
SELECT server_ip as IP
FROM table1
WHERE start_time BETWEEN @startdate AND @enddate
),
Y AS
(
SELECT IP
FROM X
Group By IP
)
SELECT IP
FROM Y

关于sql使用别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3928187/

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