I have a few tables that I would like to merge in a similar way that Python Pandas Concatenate does. I do not want to replicate the information for it is rather large. I'd like to have a VIEW
like behavior. Let me illustrate by a fake example that as far as I know would not work but just to properly explain what I would like to achieve.
Let us say I have these two tables:
CREATE TABLE table_1 (
[a] [bigint] NOT NULL,
[b] [bigint] NOT NULL,
[c] [varchar] (32) NULL,
[d] [bigint] NULL,
)
GO
CREATE TABLE table_2 (
[a] [bigint] NOT NULL,
[b] [bigint] NOT NULL,
[c] [varchar] (32) NULL,
[e] [varchar](256) NULL,
)
GO
Where a, b, c
are equivalent but hold different data. d
exists in table_1
but not in table_2
and e
exists in table_2
but not in table_1
.
Tables do not hold any common data. That is, a JOIN
on any field would bring zero results.
I would like to be able to do the following (Or something equivalent rather. I know what I am showing is not doable):
CREATE VIEW MyUnion FROM(
SELECT * FROM table_1 UNION SELECT * FROM table_2) AS alldata;
In such a way that if I run:
SELECT * FROM MyUnion;
And would get something like (1
and One
are just filler representing a generic number or string):
a b c d e
1 1 One 1 NULL
1 1 One NULL One
Is there any way to do anything like this without duplicating the data? (i.e. creating another table holding everything)
Thank you!
Best Answer
Something like this?: