我有三个表,我在涉及UNIONS的单独报告中创建。我想知道是否有可能创建一个大型报告本身UNIONed我在其他报告中使用的单独UNION。
现在看起来像这样:
SELECT
z.name,
z.social
FROM
(SELECT *
FROM
(SELECT
accta.name,
accta.social
FROM accta
WHERE accta.name <> 'Bob'
GROUP BY name
UNION
SELECT
acctb.name,
acctb.social
FROM acctb
GROUP BY name
UNION
SELECT
acctc.name,
acctc.social
FROM acctc
GROUP BY name) a
UNION
(SELECT
accta.name,
accta.social
FROM accta
GROUP BY name
UNION
SELECT
acctb.name,
acctb.social
FROM acctb
WHERE acctb.name <> 'Steve'
GROUP BY name
UNION
SELECT
acctc.name,
acctc.social
FROM acctc
GROUP BY name) b
) z
GROUP BY z.name
所以基本上我正在联合三个表来创建表,然后尝试将其与另一个由联合组成的表联合起来。
这样的事情是否可能?我一直都有错误。
答案 0 :(得分:1)
是
如果要为工会添加层次结构,只需使用括号:
SELECT columnName FROM tableName
UNION (SELECT columnName FROM anotherTableName UNION SELECT columnName FROM thirdTableName)
ORDER BY columnName;
答案 1 :(得分:0)
语法中只有一个错误,我需要在表b前面添加SELECT *语句。由于代码在我的示例中,因此表b中没有选择任何内容,因此表格不会在任何内容上进行联合。