Я хочу получить данные из базы данных, фильтруя 4 столбца. Имя первого столбца - Money
(сумма), а второе - Currency
. В db есть два дополнительных столбца с одинаковыми определениями: Money2
и Currency2
.Где я ошибался в своей инструкции SQL?
Так что я хочу, чтобы получить все записи, где Money
больше, чем 100 и Currency
составляет USD, но, кроме того, я хочу, чтобы получить все данные, где Money2
больше, чем 200 и Currency2
является евро.
У меня есть следующий запрос, но, к сожалению, он не дает результатов из второго запроса.
Код:
SELECT *
FROM DB
WHERE (Money > 100 AND Currency = 'USD' OR Money2 > 200 AND Currency2 = 'EUR')
Где я допустил ошибку?
Что такое ваше имя таблицы, Является ли это DB? –
Итак, небольшое экспериментирование показывает, что приоритет оператора, скорее всего, не является проблемой, так как я и многие другие плакаты думали со следующим запросом: select 'doesnt matter' где (1 = 1 и 1 = 1 или 1 = 0 и 1 = 0) Мы, вероятно, нуждаемся в дополнительной информации из op о структуре базы данных/таблицы и информации о базовых данных, чтобы увидеть проблему более четко. – Jakotheshadows
Вы пытались разделить два условия ORed на заявление UNION? (У меня запрос с оператором UNION, но при отправке этого комментария SO дает сообщение об ошибке, извините) – WiSeeker