如果之前有人问过这个问题,我很抱歉,我在谷歌找不到任何问题。
我正在为我的问题寻找解决方案;
我有多个具有相同结构的报表(数据来自不同的来源,我不得不拆分表),
我需要执行一个SELECT
语句,从所有这些表中获取所需的数据,但我也尝试从所述表的集合结果中应用GROUP BY
。
例如:当为每个表应用GROUP BY
日期时,它将按日期对任何特定表进行分组,但是当将所有结果合并在一起时,我留下了多个分组表而不是单个结果必要的分组。
我知道如何为特定的表执行GROUP BY
,但我不知道如何在不触及任何复杂的PHP脚本的情况下执行它。
我没有任何关于我所做的事情的例子,因为到目前为止我还没有想到任何想法。
PHP脚本也可以解决这个问题,但我更喜欢使用纯SQL。
谢谢。
答案 0 :(得分:0)
通常使用UNION
将多个表组合成一组数据,然后您可以将整个数据用作一组数据:
SELECT <Col1>,<Col2>,SUM(<Col3>) as Sum_Col_3
FROM(
SELECT <Col1>,<Col2>,<Col3> FROM TableA
UNION ALL
SELECT <Col1>,<Col2>,<Col3> FROM TableB
UNION ALL
SELECT <Col1>,<Col2>,<Col3> FROM TableC) t
GROUP BY <Col1>,<Col2>