0

我试图进行查询,显示ZIP 为 1391、1393、1396、1426、1427 的地址以及 3400 和 3433 之间的所有 zip。

SELECT ZIP, HOUSE_NR, APPARTMENT_NR, VerzBedrag
FROM werkelijke_inboedels
WHERE ProductLine = 'inboedel'
AND Product_Option = 'Inboedel All Risk' OR 'Inboedel Extra Uitgebreid'
AND ZIP = %'1391'% OR %'1393'% OR %'1396'% OR %'1426'% OR %'1427'%
AND ZIP > %'3400'%
AND ZIP < %'4133'%

有人可以更改正确的查询吗?

4

3 回答 3

4

您只需要按预期使用IN和处理查询。这里不需要模式匹配。BETWEEN

SELECT  *
FROM    tableName
WHERE   ProductLine = 'inboedel' AND 
        Product_Option IN ('Inboedel All Risk','Inboedel Extra Uitgebreid') AND
        (
            ZIP IN (1391, 1393, 1396, 1426, 1427) OR
            ZIP BETWEEN 3400 AND 3433
        )
于 2013-02-28T17:26:38.377 回答
4
AND ZIP IN ('1391', '1393', '1396', '1426', '1427')
OR  ZIP BETWEEN  '3400' AND '4133'
于 2013-02-28T17:27:08.957 回答
0

通配符放在引号内:

'%1391%'

这些与 LIKE 运算符一起使用。

于 2013-02-28T17:27:23.713 回答