【发布时间】:2012-01-06 01:29:03
【问题描述】:
我正在尝试将此查询从 Access 迁移到 SQL Server 中的视图:
CREATE VIEW dbo.[2010Q1-Q2 BLABSI Rate by Hospitalstep1]
AS
SELECT
[AcuteHospitals].[HospitalName],
[SummaryYQ_LOV].[SummaryYQ],
Sum([RateTable_CLABData].[clabcount]) AS [Number of CLABSI],
Sum([RateTable_CLABData].[numcldays]) AS [Central Line Days],
(CASE
WHEN [AcuteHospitals].[LicensedBeds] < '201' THEN 'a'
ELSE (CASE
WHEN [AcuteHospitals].[LicensedBeds] > '500' THEN 'c'
ELSE 'b'
END)
END) AS SizeCat,
(CASE
WHEN [AcuteHospitals].[LicensedBeds] < '201' THEN '<200 Licensed Beds'
ELSE (CASE
WHEN [AcuteHospitals].[LicensedBeds] > '500' THEN '>500 Licensed Beds'
ELSE '201-500 Licensed Beds'
END)
END) AS BedSize
FROM
([AcuteHospitals]
LEFT JOIN [RateTable_CLABData]
ON [AcuteHospitals].[NHSN_ID] = [RateTable_CLABData].[orgID])
LEFT JOIN [SummaryYQ_LOV]
ON [RateTable_CLABData].[summaryYQ] = [SummaryYQ_LOV].[StartDate]
WHERE ((([RateTable_CLABData].[loccdc]) NOT LIKE '%ped%'))
GROUP BY [AcuteHospitals].[HospitalName], [SummaryYQ_LOV].[SummaryYQ], (
CASE
WHEN [AcuteHospitals].[LicensedBeds] < '201' THEN 'a'
ELSE (
CASE
WHEN [AcuteHospitals].[LicensedBeds] > '500' THEN 'c'
ELSE 'b'
END)
END), (
CASE
WHEN < '201' THEN '≤200 Licensed Beds'
ELSE (
CASE
WHEN > '500' THEN '>500 Licensed Beds'
ELSE '201-500 Licensed Beds'
END)
END)
GO
但我不断收到关于“
实际上有 4 行,如 [AcuteHospitals].[LicensedBeds] < '201' THEN,但 SSMA 并没有指出错误在哪一行,因为我假设它是第一个实例,因为每一行基本上都是相同的。
【问题讨论】:
标签: sql-server ms-access