gpt4 book ai didi

SQL - 在子查询的 where 子句中使用别名

转载 作者:行者123 更新时间:2023-12-02 15:14:37 28 4
gpt4 key购买 nike

所以这实际上不是我的代码,而只是我想要做的事情的一个例子。理想情况下,我能够使用 INNER JOINS 和外键关系来获取数据,但在现实生活中我不能 - 这只是一个简单的例子。

SELECT [EmployeeID],
[DepartmentID],
(SELECT Title FROM Depts WHERE ID = [DepartmentID]) AS Department,
(SELECT Name FROM DeptHeads WHERE DeptName = Department) AS DepartmentLead
FROM Employees E

我正在从一张表(员工)获取数据。

我在子查询的 where 子句中使用该表 (DepartmentID) 中的列之一,并从该表 (Department) 创建别名

然后我尝试做与上面相同的事情,除了在 where 子句中使用该别名。

我收到一条错误消息:

Invalid column name "Department"

我有更好的方法来做到这一点,或者解决这个问题吗?

最佳答案

您不能使用刚刚定义的别名。您可以:

SELECT * FROM (

SELECT [EmployeeID],
[DepartmentID],
(SELECT Title FROM Depts WHERE ID = [DepartmentID]) AS Department,
(SELECT Name FROM DeptHeads WHERE DeptName = Department) AS DepartmentLead
FROM Employees E

) Base

WHERE Base.Department = ...

关于SQL - 在子查询的 where 子句中使用别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151470/

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