Задать вопрос

LEFT JOIN что бы не перезаписывал результат

Здравствуйте!

Джойню две таблицы LEFT JOIN:
SELECT * FROM `table1` LEFT JOIN `table2` ON `table1`.`table1-id` = `table2`.`table1-id`

в итоге, если записи во второй таблице нет, то `table1-id` возвращается как NULL. Как сделать что бы присоединяемая таблицы не перезаписывала значения? Спасибо.
  • Вопрос задан
  • 2479 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
В смысле не перезаписывала?
Если нужна пустая строка вместо NULL - напишите что-то такое:
SELECT
    `table1`.`id`,
    (CASE WHEN (`table2`.`null_field` IS NULL) THEN '' ELSE `table2`.`null_field` END) as `null_field`
FROM `table1` LEFT JOIN `table2` ON `table1`.`table1-id` = `table2`.`table1-id`
Ответ написан
Комментировать
croupier
@croupier
Не используйте * в селекте, а выводите то, что вам нужно и всё будет ok. Плюс table1`.`table1-id` = `table2`.`table1-id` - вы точно поля не перепутали?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект