у меня есть некоторые данные в таблице, например, так:MYSQL: Как разделить влево присоединиться результаты в нескольких строках
пользователя
user_id name
1 John
2 William
3 cindy
4 Julian
5 Monique
книг из
user_id book_id
1 1
2 3
3 5
5 10
винил
user_id vinyl_id
1 6
2 7
3 8
4 9
Я хочу, чтобы один ЗЕЬЕСТ, который будет производить этот вывод:
user_id item_out
1 1
1 6
2 3
2 7
3 5
3 8
4 9
5 10
Так, в порядке user_id и book_id/vinyl_id. Это возможно?
Вы можете ПОЛНОСТЬЮ ПРИСОЕДИНИТЬСЯ к обеим таблицам и проверить с помощью IFNULL(), какой идентификатор должен отображаться. Помните об этом, если один и тот же идентификатор находится в обеих таблицах, вы выиграли, видите ли это винил или книгу. – Johan
Если бы я был вами, я бы реструктурировал базу данных, пока вы все еще можете. сделайте одну таблицу 'product out' и добавьте столбец перечисления для типа. Структура, которую вы используете сейчас, кажется ошибочной, особенно потому, что они, похоже, используют один и тот же идентификатор (они должны быть уникальными) – Jester
@Jester Этот пример не является моей реальной производственной проблемой, а лишь упрощенным примером. Реструктуризация базы данных не так проста и сложнее в моей реальной базе данных. Но ты прав. Я должен подумать о том, как реструктурировать этот компонент. – ma9ma