Как объединить два столбца из разных таблиц с неравным размером строки - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть две таблицы, в которых содержатся журналы регистрации сотрудников. Первая таблица содержит только данные регистрации, а вторая таблица содержит данные только о выезде.Данные поступают с двух разных компьютеров, и иногда данные о регистрации и выезде не совпадают.Я имею в виду, что могут быть дополнительные данные для таблиц регистрации заезда или отъезда.Я не смог объединить эти два столбца, в которых строки разных размеров из разных таблиц имеют неравный размер, с идентификатором сотрудника, и я даже не знаю, возможна ли эта операция (я новичок в SQL).

Цель состоит в том, чтобы я хотелвытащить все данные сразу.Конечно, я могу вытянуть данные соответственно на машину или таблицу.

Когда я пытаюсь что-то вроде левого соединения, внутреннего соединения или полного соединения, он просто содержит первый элемент первой таблицы для каждого элемента данных второй таблицы, а затемпродолжает делать для второго элемента первой таблицы, это происходит так.Я думаю, это из-за неравного размера строки в два столбца.

SELECT col1,col2
FROM table1 as t1 LEFT JOIN
     table2 as t2
     ON t1.id = t2.id
WHERE t1.id = 4 AND t2.id = 4 

или

SELECT col1
FROM table1
WHERE id = 4 IN (SELECT col2 FROM table2 WHERE id= 4)

id = 4 подходит для моего идентификатора, это может быть от 1 до 30.

1 Ответ

0 голосов
/ 18 апреля 2019

использование union all

SELECT col1,col2
FROM table1 as t1 LEFT JOIN
     table2 as t2
     ON t1.id = t2.id
WHERE t1.id = 4 AND t2.id = 4 
union all

SELECT col1,0
FROM table1
WHERE id = 4 IN (SELECT col2 FROM table2 WHERE id= 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...