我想做一些子查询选择,其条件取自主查询选择。
这是我的疑问:
SELECT
DISTINCT MONTH(datetime_end) as B,
(
SELECT
SUM(DATEDIFF(DAY, datetime_start, datetime_end))
FROM
[simrke].[trx_medical_ruang] MR,
[simrke].[trx_ruang] R
WHERE
MR.ruang_cd = R.ruang_cd AND
R.ruang_nm like 'BAKUNG%' AND
MONTH(datetime_end) = B
)
FROM
[simrke].[trx_medical_ruang] M
ORDER BY B
;
子查询选择条件MONTH(datetime_end) = B
来自之前的选择,但我收到此错误消息:
[Err] 42S22 - [SQL Server]列名称'B'无效。
指向第一个B选择的正确方法是什么?
答案 0 :(得分:4)
试试这个:UserManager.AddToRoleAsync
MONTH(MR.datetime_end) = MONTH(M.datetime_end)
答案 1 :(得分:0)
您的查询是否与此相同?
FileInputStreams
还尝试使用ANSI样式的连接
答案 2 :(得分:0)
根据SELECT语句的逻辑处理顺序,您不能在ORDER By子句中使用B(即别名),而是必须使用您在SELECT子句中编写的内容,即MONTH(datetime_end)或序列号(以数字形式)在您的情况下为1的列。 在镜头中,您可以选择以下任何一个来替换ORDER BY子句中的B: