Sinicin
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте уважаемые. Сабж. Имеются следующие таблицы: users - пользователей, с полями: id, name, city_id, cat_id catalog - предприятий, с полями: id, name city - городов, с полями: id, name пользователь может принадлежать предприятию, тогда в таблице users в поле cat_id указан ID предприятия, иначе поле cat_id ='0' примерно так: id=1, name='Василий', city_id='1', cat_id='1' id=2, name='Иван', city_id='2', cat_id='0' Запрос: SELECT users.name, catalog.name, FROM users, catalog WHERE users.id = '1' AND catalog.id=users.cat_id если у пользователя cat_id не '0' - то все нормально выводится, а если cat_id='0' то естественно выдает пустой ответ Можно ли сделать запрос таким образом, чтобы при выборке если cat_id='0', то выводился город? пробовал использовать IF() и IFNULL() , но наверное я не так понял их работу... SELECT users.name, IF(catalog.name, catalog.name, city.name) FROM users, catalog, city WHERE users.id = '1' AND IFNULL(catalog.id=users.cat_id, users.city_id=city.id) Помогите разобраться. |