我有一个SQL Server表,如果存在特定值,我想计算id值。
表格如下:
例如,我想计算DRGPatientId
代码包含'O82'但不包括代码'O342'。
这是我的sql代码:
SELECT DONEM.DonemAdi AS Donem,COUNT(DISTINCT TIGC.DRGPatientId) AS DogumSayisi
FROM [TIGTest].[dbo].[TIGPatient] TIGP
,[TIGTest].[dbo].[KART_DONEM] DONEM
,[TIGTest].[dbo].[Hospitals] HOST
,[TIGTest].[dbo].[TIGPatientCode] TIGC
WHERE TIGC.Code IN ('O82') AND Code NOT IN ('O342')
AND DONEM.DonemKodu=TIGP.Durum
AND TIGC.DRGPatientId=TIGP.Id
AND TIGP.Sex='F'
GROUP BY DONEM.DonemAdi ORDER BY DONEM.DonemAdi ASC
正如你在桌面上看到的,每个DRGPatientID都有多个Code.So我想算一个患者,其中Principal诊断'1'为'O82',但它必须不能存在'O342'作为额外的诊断(2,3, ..)。
答案 0 :(得分:0)
使用sql通配符在where条件检查代码中包含o82的任何地方。 对于前
select * from tbname where code like "%O82%"