如何在sql中的where条件下,使单个列具有不同的值



我编写了一个SQL查询来获取有关商店的不同销售信息。

问题是,我想在我的"GL_ETABLISSEMENT"列中过滤并只取一些商店编号,如果我只做AND (GL_ETABLISHMENT = "20897"),它会起作用,但如果我在后面添加更多,我该怎么做?

SELECT 
T_ETABLISSEMENT, ET1.ET_LIBELLE AS C1, GL_ETABLISSEMENT, 
GP_HEURECREATION, GP_REFINTERNE, GL_CODEARTICLE, 
LIBDIM2, LIBDIM1, GL_QTEFACT, GL_PUTTC, 
(GL_TOTALHT * GP_COTATIONDOS) AS TOTALHTDEV, GL_DPR, GL_DEVISE, 
GL_NATUREPIECEG, GA_LIBELLE 
FROM 
GCLIGNEARTDIM  
LEFT OUTER JOIN 
PGI_LOOKUP(TTETABLISSEMENT) ET1 ON GL_ETABLISSEMENT = ET1.ET_ETABLISSEMENT 
WHERE 
(GP_HEURECREATION >= "20201130 00:00:00"
AND (GL_NATUREPIECEG = "FFO") 
AND GL_ETABLISSEMENT = "20897", "10519", "20267", "26451", "20269", "26078", "28047", "20900", "28085", "24984", "27113", "20268", "19994", "28450", "26876", "24063", "18066", "3220"
ORDER BY 
GP_REFINTERNE

您想要in吗?

AND GL_ETABLISSEMENT in ('20897', '10519', '20267', '26451', '20269', '26078', '28047', '20900', '28085', '24984', '27113', '20268', '19994', '28450', '26876', '24063', '18066', '3220')

注意:文字字符串使用单引号,而不是双引号。这是所有数据库都支持的标准SQL(而在标准SQL中,双引号代表标识符(。

最新更新