Как удалить повторяющиеся записи из таблицы в MySql - PullRequest
0 голосов
/ 06 августа 2020

У меня есть две таблицы в моей базе данных, т.е. Roll Header и Roll Body. Данные в таблицах сохраняются следующим образом:

Roll Header                                 Roll Body

id      Name     Color                      id     name    roll_header_id
1       abc      black                      1       fgh     1
2       cde      white                      2       hnj     1
                                            3       asd     1
                                            4       weq     2
                                            5       asd     2
                                            6       iuo     2

Теперь мне нужен результат обеих таблиц следующим образом

РЕЗУЛЬТАТ

id     name    roll_header_id             id      Name      Color
1       fgh     1                         1       abc       black
2       hnj     1                         null      null     null
3       asd     1                         null      null     null   
4       weq     2                         2         cde      white
5       asd     2                         null      null     null
6       iuo     2                         null      null     null

Я пробовал присоединиться к объединениям и все но все равно безуспешно

1 Ответ

0 голосов
/ 06 августа 2020
SELECT body.id,
       body.name, 
       body.roll_header_id,
       CASE WHEN body.id = body_header.id
            THEN header.id
            END header_id,
       CASE WHEN body.id = body_header.id
            THEN header.name
            END header_name,
       CASE WHEN body.id = body_header.id
            THEN header.color
            END header_color
FROM body
JOIN header on body.roll_header_id = header.id
JOIN (SELECT MIN(id) id, roll_header_id
      FROM body
      GROUP BY roll_header_id) body_header ON body_header.roll_header_id = body.roll_header_id
ORDER BY body.id;

скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...