Rya*_*ief 3 sql-server subquery sql-server-2008
我想做一些子查询选择,其条件是从主查询选择中获取的。
这是我的查询:
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
;
Run Code Online (Sandbox Code Playgroud)
其中子查询选择条件MONTH(datetime_end) = B
来自先前的选择,但我收到此错误消息:
[错误] 42S22 - [SQL Server] 列名“B”无效。
指向第一个 B 选择的正确方法是什么?
尝试这个 :MONTH(MR.datetime_end) = MONTH(M.datetime_end)
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(MR.datetime_end) = MONTH(M.datetime_end)
)
FROM
[simrke].[trx_medical_ruang] M
ORDER BY B
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4155 次 |
最近记录: |