COUNT列,在WHERE子句中包含with和exclude

时间:2014-09-12 10:43:59

标签: sql sql-server

我有一个SQL Server表,如果存在特定值,我想计算id值。

表格如下:

enter image description here

例如,我想计算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, ..)。

1 个答案:

答案 0 :(得分:0)

使用sql通配符在where条件检查代码中包含o82的任何地方。 对于前

select * from tbname where code like "%O82%"