Здравствуйте. Имеем две таблицы, tbl1 и tbl2. Джойним одну к другой: Код (Text): SELECT * FROM tbl1 LEFT JOIN tbl2 ON tbl2.id = tbl1.id В tbl1 и tbl2 также есть колонка city_id. Нужно как-то прописать условие, чтобы если tbl1.city_id не NULL - то в выражении WHERE (или в выражении ON в JOIN) было условие WHERE tbl2.city_id = tbl1.city_id, а если tbl1.city_id является NULL, то такого условия не было. Можно это реализовать? Пробовал IF и CASE и прописывал их в WHERE, но то ли не так приписывал, то ли... В общем прошу помощи.
Re: Если поле не NULL, то JOIN с условием, если NULL - без у а что будет выбираться из таблицы, если условия нету? о_О
Re: Если поле не NULL, то JOIN с условием, если NULL - без у Уже этот запрос LEFT JOIN tbl2 ON tbl2.id = tbl1.id определенным образом ограничивает условия выборки, нет? Не вижу проблемы.
Re: Если поле не NULL, то JOIN с условием, если NULL - без у А, я не углядел, что это разные вещи. =)
Re: Если поле не NULL, то JOIN с условием, если NULL - без у tbl1.city_id IS NULL OR tbl2.city_id = tbl1.city_id ?
Re: Если поле не NULL, то JOIN с условием, если NULL - без у Да-да, вы правы. Уже подсказали. Все было так просто, а я лез в ненужные дебри.