Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Subquery condition from main query select

I want to do some subquery select where its condition is taken from main query select.

Here's my query :

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
    ;

Where sub query select condition MONTH(datetime_end) = B is from previous select but I got this error message :

[Err] 42S22 - [SQL Server]Invalid column name 'B'.

What is a proper way to point to first B select?

like image 953
24 revs, 19 users 31% Avatar asked May 15 '26 23:05

24 revs, 19 users 31%


1 Answers

Try this : 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
like image 112
Abdul Rasheed Avatar answered May 18 '26 11:05

Abdul Rasheed



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!