@sergik15828

Как составить запрос к бд mySQL для выборки с исключением?

CREATE TABLE `board` (
  `id` mediumint(7) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID Объявления',
  `name` varchar(250) NOT NULL COMMENT 'Название Объявления',
  `country_id` int(3) NOT NULL COMMENT 'Страна',
  `city_id` int(4) NOT NULL COMMENT 'Город',
  `show_in_world` int(1) NOT NULL COMMENT 'Флаг, показывать по всему миру',
  `show_in_country` int(1) NOT NULL COMMENT 'Флаг, показывать по всей стране',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

INSERT INTO `board` VALUES
(100, 'Продам Daewoo', 1, 2, 0, 0),
(101, 'Продам Kia', 1, 2, 1, 0),
(102, 'Продам Ford', 1, 2, 0, 1);


Простыми словами должно получится как то так,
если show_in_world = 0, тогда прописывается (country_id = $country && city_id = $city)
иначе конструкция (country_id = $country && city_id = $city) не прописывается

sqlfiddle.com/#!9/0da6f6/5
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@sergik15828 Автор вопроса
SELECT * FROM board
WHERE
IF(show_in_world = 1, 1,
IF (show_in_country = 1, country_id = 1, (country_id = 1 && city_id = 2))
)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
show_in_world <> 0 OR (country_id = $country AND city_id = $city)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы