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
答案 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
然后,您可以在其他联接中引用此视图,就好像它是自己的表一样。