Я наткнулся на этот вопрос, SQL - Идентификация исходной таблицы из запроса UNION , но как насчет того, когда обе таблицы имеют одинаковые данные строки и столбец? Как мы можем определить, из какой таблицы это произошло? Есть ли другой способ сделать это, кроме UNION/UNION ALL
?
Пример:
Это Таблица_1
+--------+---------+------------------+-----------------+
| ID_No | ID_Type | Data | Input_Timestamp |
+--------+---------+------------------+-----------------+
| 1101 | 1000 | LARGE MANGO X12 | 2019-12-21 |
+--------+---------+------------------+-----------------+
| 1102 | 1000 | LARGE BANANA X12 | 2019-12-22 |
+--------+---------+------------------+-----------------+
| 1103 | 1000 | LARGE ORANGE X12 | 2019-12-23 |
+--------+---------+------------------+-----------------+
| 1104 | 1000 | LARGE GRAPES X12 | 2019-12-24 |
+--------+---------+------------------+-----------------+
Это Таблица_2
+--------+---------+------------------+-----------------+
| ID_No | ID_Type | Data | Input_Timestamp |
+--------+---------+------------------+-----------------+
| 1101 | 1000 | LARGE MANGO X12 | 2019-12-21 |
+--------+---------+------------------+-----------------+
| 1102 | 1000 | LARGE BANANA X12 | 2019-12-22 |
+--------+---------+------------------+-----------------+
| 1103 | 1000 | LARGE ORANGE X12 | 2019-12-23 |
+--------+---------+------------------+-----------------+
| 1105 | 1000 | LARGE GINGER X12 | 2019-12-25 |
+--------+---------+------------------+-----------------+
Выполнение UNION
как это не будет работать, потому что они будут продублированы.
SELECT 'from_table_1' as from_table, ID_No, ID_Type, Data, Input_Timestamp FROM Table_1
UNION
SELECT 'from_table_2' as from_table, ID_No, ID_Type, Data, Input_Timestamp FROM Table_2
Есть ли способ сделать это правдоподобным? Или есть какой-то другой способ, чтобы это сработало?
Это будет мой ожидаемый результат.
+--------------+--------+---------+------------------+-----------------+
| from_table | ID_No | ID_Type | Data | Input_Timestamp |
+--------------+--------+---------+------------------+-----------------+
| from_table_1 | 1101 | 1000 | LARGE MANGO X12 | 2019-12-21 |
+--------------+--------+---------+------------------+-----------------+
| from_table_1 | 1102 | 1000 | LARGE BANANA X12 | 2019-12-22 |
+------------+----------+---------+------------------+-----------------+
| from_table_1 | 1103 | 1000 | LARGE ORANGE X12 | 2019-12-23 |
+--------------+--------+---------+----------------+-----------------+
| from_table_1 | 1104 | 1000 | LARGE GRAPES X12 | 2019-12-24 |
+--------------+--------+---------+------------------+-----------------+
| from_table_2 | 1105 | 1000 | LARGE GINGER X12 | 2019-12-25 |
+--------------+--------+---------+------------------+-----------------+
Единственная причина, по которой я хочу, чтобы это работало, это то, что я могу различать guish откуда взяты данные и возможность кодировать их во внешнем интерфейсе, потому что Table_2 будет конечными данными, а Table_1 по-прежнему можно редактировать при необходимости.
Подводя итог, таблица_1 будет иметь приоритет при отображении данных перед таблицей_2, если в таблицах_1 и таблице_2 имеются повторяющиеся значения.
Спасибо.