我有兩組查詢,如下所示我需要根據下面指定的某些情況合併查詢。合併查詢
SELECT M.Ward_ID ,
M.Ward_Name ,
M.Bed_Strength ,
M.Bed_Strength - ISNULL(COUNT(A.WARD_id), 0) AS Free_Bed ,
ISNULL(COUNT(A.Status), 0) AS TBV
FROM Ward_Master M
LEFT OUTER JOIN IP_Admission A ON A.WARD_ID = M.WARD_ID
AND (A.Status = 'O')
OR A.Status IN (SELECT CONVERT(VARCHAR(1), COUNT(A.Status)) AS TBV
FROM Ward_Master w ,
IP_Admission a
WHERE a.Status = 'D'
AND a.Ward_ID = w.Ward_ID)
GROUP BY M.Ward_ID ,
M.Bed_Strength ,
M.Ward_Name ,
A.Status
輸出是像
Ward_ID Ward_Name Bed_Strength Free_Bed TBV
1 Labor 6 4 2
2 GYN 6 5 1
3 OBG 6 6 0
4 High Ri 6 4 2
5 PED 14 14 0
2)
SELECT ward_ID ,
COUNT(status)
FROM IP_Admission
WHERE Status = 'D'
GROUP BY Ward_ID
輸出:
ward_ID (No column name)
2 1
3 1
5 2
現在我需要的第一個表被轉換爲
Ward_ID Ward_Name Bed_Strength Free_Bed TBV
1 Labor 6 4 0
2 GYN 6 5 1
3 OBG 6 6 1
4 High Ri 6 4 0
5 PED 14 14 2
你可以看到,病房ID 2,3,5有1,1,2有D
狀態的總數。並且如果任何Ward_ID不包含status count
它應該顯示0
。任何幫助讚賞。
它是一個非常好的解釋,它幫助了我很多 –