以我SQL 5.5:的MySQL创建一个表内部联接UNION右连接
试图建立一个表,该表是一个INNER的结果JOIN表的& B,和(UNION)RIGHT JOIN表的ç& B.
CREATE TABLE IF NOT EXISTS TABLE_NAME AS (
(SELECT a.column1, b.column2 FROM TABLEA AS a
INNER JOIN TABLEB AS b
ON a.column1 = b.column1)
UNION
(SELECT c.column1, b.column2 FROM TABLEC AS c
RIGHT JOIN TABLEB AS b
ON b.column1 = c.column1)
);
错误:
ERROR 1064 (42000) at line 11: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT a.column1, b.column2 FROM TABLEA AS a
其他尝试:
CREATE TABLE IF NOT EXISTS TABLE_NAME AS (
(SELECT a.column1, b.column2 FROM TABLEA AS a
INNER JOIN TABLEB AS b
ON a.column1 = b.column1)
UNION
(SELECT c.column1, b.column2 FROM TABLEC AS c
RIGHT JOIN TABLEB AS b
ON b.column1 = c.column1)
);
Error:
ERROR 1064 (42000) at line 11: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION
可以在任何大师提供一些建议?谢谢。
从维恩图,我想你需要'LEFT JOIN',不'RIGHT JOIN'。 –