I want two combine two tables in a query where the resulting table has an extra type column to specify which table the value was taken from:
table1
id | name |
---|---|
1 | name1 |
2 | name2 |
table2
id | name |
---|---|
3 | name3 |
4 | name4 |
result
table | id | name |
---|---|---|
table1 | 1 | name1 |
table1 | 2 | name2 |
table2 | 3 | name3 |
table2 | 4 | name4 |
How to achieve that?
CodePudding user response:
Use a union query:
SELECT 'table1' AS [table], id, name FROM table1
UNION ALL
SELECT 'table2', id, name FROM table2
ORDER BY id;
CodePudding user response:
Yes the union query is a quick solution and if don't want any duplicate you use simply UNION, without ALL