如何使用4个表创建视图 - 除一个字段外,所有表都相同

时间:2012-08-26 09:18:24

标签: mysql

我有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....

2 个答案:

答案 0 :(得分:0)

根据这一假设,您的字段abcd类似于您目的的唯一键(请另外澄清),{{{ 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