I have two tables which I wanna perform join between two tables and group them by date
Table one is fb_data
id name created_at revenue
1 as 2020-05-29 19:30:54 5
2 as 2020-05-28 19:30:54 10
3 ad 2020-05-29 19:31:42 6
4 ad 2020-05-28 19:31:54 65
5 as 2020-05-29 19:32:10 7
6 ad 2020-05-28 19:31:54 5
Table two is google_data
id name created_at sessions
1 as 2020-05-29 19:38:32 5
2 ad 2020-05-29 19:38:41 10
3 as 2020-05-29 19:38:49 7
4 as 2020-05-28 19:39:02 6
5 ad 2020-05-28 19:39:13 8
6 ad 2020-05-28 19:41:41 13
Now what I want is to join two columns by name then group them by created_at . Something like this
Name , date(created_at) as date , sum(fb_data.revenue) , sum(google_data.revenue)
I have one sql query but that doesn't gives result as I expected
select gd.name,fb.total_revenue,fb.created_at,gd.total_sessions
from (select date(fb_data.created_at) as created_at, sum(fb_data.revenue) as total_revenue, name
from fb_data
group by date(fb_data.created_at), name) fb,
(select date(google_data.created_at) as created_at, sum(google_data.session) as total_sessions, name
from google_data
group by name, date(google_data.created_at)) as gd
where fb.name = gd.name
group by gd.name,fb.name,fb.created_at,gd.total_sessions
The result I get is
Name total_revenue created_at total_sessions
as 12 2020-05-29 12
as 12 2020-05-29 6
as 10 2020-05-28 12
as 10 2020-05-28 6
ad 6 2020-05-29 10
ad 6 2020-05-29 21
ad 70 2020-05-28 10
ad 70 2020-05-28 21
The result that I am expecting is
name total_revenue created_at total_sessions
as 12 2020-05-29 12
as 10 2020-05-28 6
ad 6 2020-05-29 10
ad 70 2020-05-28 21