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

How to have different values of a single column in a condition where in sql?

我编写了一个 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 中,双引号代表标识符)。