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

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

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

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

в итоге, если записи во второй таблице нет, то `table1-id` возвращается как NULL. Как сделать что бы присоединяемая таблицы не перезаписывала значения? Спасибо.
  • Вопрос задан
  • 2487 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Progtips
    Программирование на PHP и MySQL
    2 месяца
    Далее
  • beONmax
    Профессия Веб программист - Быстрый старт
    4 месяца
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 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` - вы точно поля не перепутали?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы