我有4个表,我想创建一个视图。除一个字段外,所有表都具有相同的列。
这是一个例子。然后字段数约为15.
table A
a b c d f1
table B
a b c d f2
table C
a b c d f3
table D
a b c d f4
我想创建一个看起来像这样的视图
a b c d f1 f2 f3 f4
我在RDS上使用最新版本的mysql。使用mysql语法创建此视图的最有效方法是什么?
补充说明。字段a,b,c,d将相互连接。即
A.a=B.a.=C.a=D.a and A.b=B.b etc....
答案 0 :(得分:0)
根据这一假设,您的字段a
,b
,c
和d
类似于您目的的唯一键(请另外澄清),{{{ 3}} - 语法看起来像这样:
CREATE VIEW your_view AS
SELECT A.a, A.b, A.c, A.d,
A.f1, B.f2, C.f3, D.f4
FROM A
INNER JOIN B ON A.a = B.a AND A.b = B.b AND A.c = B.c AND A.d = B.d
INNER JOIN C ON A.a = C.a AND A.b = C.b AND A.c = C.c AND A.d = C.d
INNER JOIN D ON A.a = D.a AND A.b = D.b AND A.c = D.c AND A.d = D.d;
答案 1 :(得分:0)
CREATE VIEW foo AS
SELECT * FROM tableA NATURAL JOIN tableB NATURAL JOIN tableC NATURAL JOIN tableD