2
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
4

3 回答 3

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
于 2012-07-06T22:40:24.443 回答
1

这应该这样做:

SELECT * into t3
FROM t1
JOIN t2
ON t1.id1 = t2.id2
于 2012-07-06T22:40:00.503 回答
0

您可以创建一个类似于表格的视图:

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

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

于 2012-07-06T22:40:26.163 回答