CREATE表LIKE JOIN

时间:2012-07-06 22:37:48

标签: mysql sql

SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2

在MySQL上生成这些表的JOIN。如何将结果存储在第三个表中,而无需逐列定义。

我试过这个来创建第三个表,但它不起作用。

CREATE TABLE t3 LIKE
(
SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2
) a

3 个答案:

答案 0 :(得分:5)

如果您希望新表格包含SELECT的结果:

CREATE TABLE t3 SELECT * FROM t1 JOIN t2 ON t1.id1 = t2.id2

或者,如果您只是希望它基于联接的架构:

CREATE TABLE t3 SELECT * FROM t1 JOIN t2 ON t1.id1 = t2.id2 WHERE FALSE

答案 1 :(得分:1)

这应该做:

SELECT * into t3
FROM t1
JOIN t2
ON t1.id1 = t2.id2

答案 2 :(得分:0)

您可以创建一个view,就像表格一样:

CREATE VIEW t3 AS
SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2

然后,您可以在其他联接中引用此视图,就好像它是自己的表一样。