это мой стол 1:SQL INSERT INTO из нескольких таблиц
NAME AGE SEX CITY ID
Clara 22 f New York 1
Bob 33 m Washington 2
Sam 25 m Boston 3
это мой стол 2:
NUMBER ID
555-1111 1
555-2222 2
555-3333 3
и теперь я хочу таблицу 3, которая показывает мне всю информацию:
NAME AGE SEX CITY ID NUMBER
Clara 22 f New York 1 555-1111
Bob 33 m Washington 2 555-2222
Sam 25 m Boston 3 555-3333
Я попытался сначала вставить в таблицу 3 только значения из таблицы 1, а затем я ввел в таблицу 3 значения из таблицы 2 с внутренней join, где Id = Id.
INSERT INTO table3 { name, age, sex, city, id}
SELECT name, age, sex, city, id
FROM table 1
INSERT INTO table3 { name, age, sex, city, id, number}
SELECT name, age, sex, city, id, number
FROM table 2 p
INNER JOIN table 3 c ON c.Id = p.Id
Но все, что я получаю, является дублированием моих значений. вместо того, чтобы иметь 3 записи, у меня есть 9 записей, некоторые из которых имеют номер null, некоторые имеют только число и остальное значение null, а некоторые - правильные.
Я надеюсь, что кто-то может помочь мне
EDIT
Если я имею теперь третью таблицу, как это:
NATIONALITY ID
Canadian 1
American 2
French 3
Как я мог объединить все 3 таблицы в одной таблице ?
Отлично работает! Но что мне делать, если я беру значения из более чем двух таблиц? См. Мой Редактировать – Paparis
Просто добавьте еще одно соединение - я отредактирую свой ответ –
, спасибо, что он работал для меня. FYI Мне нужна ЛЕВАЯ ВСТУПЛЕНИЕ, потому что в некоторых столбцах у меня были нулевые значения. – Paparis