Что не так с моим запросом? FROM shop WHERE reting = 7 AND reting = 8;

235
12 апреля 2017, 13:18

У меня есть таблица shop в ней есть поля: name, shop_name, price, reting, где

  • name = имя товара.
  • shop_name = имя магазина.
  • price = цена
  • reting = рейтинг товаров.
Содержания таблицы 
____________________________________
name  | shop_name | price | reting |
Apple | Dicsi     |  50   |    7   |
milk  | Narodnyi  |  25   |    8   |
lamp  | Pupsi     |  100  |    7   |
map   | Luk       |  1000 |    8   |
-----------------------------------+

Я хочу вывести на экран все записи у которых рейтинг равен 7 и 8, выполняя этот запрос:

SELECT * 
FROM shop 
WHERE reting = 7 AND reting = 8;

я получаю абсолютно нечего. А вот так все правильно :

SELECT * 
FROM shop 
WHERE reting = 7 OR reting = 8;

вывод :

----------------------+
name     |   reting   |
----------------------+
Apple    |     7      |
Milk     |     8      |
----------------------+

Почему это так, ведь тут сказано https://sql-language.ru/sql-and-or.html оператор AND выводить все записи если оба условия будет истинным. А тут истинно, reting в этом случае равно 7 и 8 в таблице видно.

Почему так.

Answer 1

Почему это так, ведь тут сказано https://sql-language.ru/sql-and-or.html оператор AND выводить все записи если оба условия будет истинным

Вы пытаетесь вывести продукты, у которых поле reting одновременно равно и 7, и 8. Но, очевидно, что каждому продукту можно присвоить лишь одно значение, и у одного продукта одновременно рейтинг не может иметь 2 значения. Для того и нужно использовать оператор OR.

READ ALSO
Проблема в запросе в базу данных mysql

Проблема в запросе в базу данных mysql

Приветствую, никак не могу правильно собрать запрос в базу данныхВот скрин таблиц и их связей: Нужно получить обязательный список из таблицы...

248
Удаление строк с наименьшим параметром mySQL

Удаление строк с наименьшим параметром mySQL

Начал изучать SQL, разобрался с базовыми командами, но столкнулся с проблемой: есть таблица с тремя колонками id, amount и currency (id - Primary key)И я хочу...

313
Экранирование ввода

Экранирование ввода

Подскажите какое экранирование сделать для полей "ФИО" "телефон" и "Описание"На данный момент у меня следующее

219
Не обновляет данные в БД(PDO)

Не обновляет данные в БД(PDO)

Всем доброго времени сутокНаписал метод обновление данных,но почему то работает ооооочень криво title = при отправке запроса меняет то 0,то...

244