我不明白。我试图用union来总结两个相同的表,但它不起作用。
t_fb_data:
id | date | sum
---------------------
1 | 2017.01.01| 2
2 | 2017.01.02| 1
t_google_data:
id | date | sum
---------------------
1 | 2017.01.01| 7
2 | 2017.01.02| 1
3 | 2017.01.03| 2
result could looks like:
| date | sum
------------------
| 2017.01.01| 2
| 2017.01.02| 1
| 2017.01.01| 7
| 2017.01.02| 1
| 2017.01.03| 2
这是我的问题:
SELECT *
FROM
( SELECT date
, sum
FROM t_fb_data
) T1
Union
( SELECT date
, sum
FROM t_google_data
) T2
T2应该是错误的,因为我的工作台希望T2前面有一个括号。但如果我这样做,那就错了。我需要在我的工作台上设置一些东西吗?
最佳答案
你的问题不对。您尝试将顶部有SELECT
语句的两个子查询合并到第一个子查询。
您正在查找的代码:
SELECT date, sum FROM t_fb_data
UNION
SELECT date, sum FROM t_google_data
将从两个表中返回不重复的值。
如果要将其用作子查询,只需用另一个
SELECT
语句将其括起来,如下例所示:SELECT sub.*
FROM (
SELECT date, sum FROM t_fb_data
UNION
SELECT date, sum FROM t_google_data
) sub
在这种情况下,如果需要,可以在top
SELECT
语句中进行额外的计算。