Добавьте указанный столбец c в другую существующую таблицу, используя SQL QUERY - PullRequest
0 голосов
/ 19 февраля 2020

Я знаю, это звучит легко при добавлении всей строки в новую таблицу, но это не так

This is Table 1

This is Table 2

This is Table 3

Вопрос 1, укажите, чтобы объединить таблицу 1 и таблицу 2 и сохранить дублирующее значение, чтобы создать новую таблицу, я использовал следующее query:

CREATE TABLE EMP_TBL_3
(
    EMP_ID int,
    Name varchar(255),
    DOJ int
);

INSERT INTO EMP_TBL_3 (EMP_ID, Name, DOJ)
   SELECT * FROM EMP_TBL_1 
   UNION ALL
   SELECT * FROM EMP_TBL_2;

Результаты:

Answer

Теперь проблема возникает на втором вопросе, говоря: Возьмите DOB из EMP_BRTH_RE C и объединить их в EMP_TBL_3:

Я пробовал этот запрос:

ALTER TABLE EMP_TBL_3
ADD DOB int;

SELECT * FROM EMP_TBL_3;

SELECT EMP_ID, Name, DOJ, DOB
FROM EMP_TBL_3
UNION ALL
SELECT EMP_TBL_3.EMP_ID, EMP_TBL_3.Name, EMP_TBL_3.DOJ, EMP_BRTH_REC.DOB
FROM EMP_BRTH_REC 
LEFT JOIN EMP_TBL_3 ON EMP_BRTH_REC.EMP_ID = EMP_TBL_3.EMP_ID;

Результаты:

Error Result

Мой желаемый вывод:

enter image description here

Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Если я предприму должное, тебе просто нужно сделать это:

select EMP_TBL_3.EMP_ID, EMP_TBL_3.Name, EMP_TBL_3.DOJ, EMP_BRTH_REC.DOB
from EMP_BRTH_REC LEFT JOIN
     EMP_TBL_3
     on EMP_BRTH_REC.EMP_ID = EMP_TBL_3.EMP_ID;
0 голосов
/ 19 февраля 2020

Вы дважды вставляете записи, используя UNION ALL. Я бы предложил вам обрезать и перезагрузить данные в Tbl3, как указано ниже:

ALTER TABLE EMP_TBL_3
ADD DOB int;

TRUNCATE TABLE Emp_Tbl_3;

INSERT INTO Emp_Tbl_3(Emp_Id, Name, DOJ, DOB)
SELECT EMP_TBL_1.EMP_ID, EMP_TBL_1.Name, EMP_TBL_1.DOJ, EMP_BRTH_REC.DOB
from 
EMP_BRTH_REC 
LEFT JOIN EMP_TBL_1
on EMP_BRTH_REC.EMP_ID = EMP_TBL_1.EMP_ID
UNION ALL
SELECT EMP_TBL_2.EMP_ID, EMP_TBL_2.Name, EMP_TBL_2.DOJ, EMP_BRTH_REC.DOB
from 
EMP_BRTH_REC 
LEFT JOIN EMP_TBL_2
on EMP_BRTH_REC.EMP_ID = EMP_TBL_2.EMP_ID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...