我想通过过滤4列从数据库中获取数据。第一列名称是Money
(金额),第二列是Currency
。 db中有两个额外的列,例如:Money2
和Currency2
。我在SQL语句中犯了什么错误?
所以我想所有的记录,其中Money
大于100 Currency
是美元,但另外我想获得的所有数据,其中Money2
大于200 Currency2
是欧元。
我有以下查询,但不幸的是它没有给出第二个查询的结果。
代码:
SELECT *
FROM DB
WHERE (Money > 100 AND Currency = 'USD' OR Money2 > 200 AND Currency2 = 'EUR')
哪里我犯了一个错误?
什么是你的表名,它是数据库? –
所以有一点实验表明,运营商的优先顺序可能不是问题,因为我和其他许多海报人士认为 - 玩下面的查询来看看这个: 选择'不重要'其中(1 = 1和1 = 1或1 = 0和1 = 0) 我们可能需要更多关于数据库/表结构的信息以及底层数据的信息才能更清楚地看到问题。 – Jakotheshadows
您是否尝试将两个ORed条件拆分为UNION语句? (我用UNION操作符查询,但发布该评论SO给出了错误信息;对不起) – WiSeeker