Sql server 使用Group By和Join从多个表中获取详细信息的SQL查询

Sql server 使用Group By和Join从多个表中获取详细信息的SQL查询,sql-server,database,join,group-by,Sql Server,Database,Join,Group By,说到SQL,我总是觉得很糟糕。我有两个表,比如说收入表,其结构如下: Revenue Table Clicks impressions ad_id device_id money_generated date 另一个包含以下设备详细信息的表: Devices device_id device_name 还有一张桌子说 Ads Table ad_name ad_id ---- 现在我要做的是获取在特定日期之间,特定设备为特定广告产生的印象、点击和金钱的总和 我尝试了链接收入和设备表的查询,但

说到SQL,我总是觉得很糟糕。我有两个表,比如说收入表,其结构如下:

Revenue Table
Clicks
impressions
ad_id
device_id
money_generated
date
另一个包含以下设备详细信息的表:

Devices
device_id
device_name
还有一张桌子说

Ads Table
ad_name
ad_id
----
现在我要做的是获取在特定日期之间,特定设备为特定广告产生的印象、点击和金钱的总和

我尝试了链接收入和设备表的查询,但失败了

select 
   device_name, 
   revenue.impressions, 
   revenue.clicks, 
   revenue.money_generated, 
   revenue.ad_id 
FROM
   (select
       device_id, 
       dim_ad_id,
       SUM(imp_count) as impressions,
       SUM(click_count) as clicks,
       SUM(money_generated) as revenue,
    from 
       revenue
    GROUP BY 
       ad_id
    GROUP BY 
       device_id
    WHERE 
       dim_Date>'2017-11-02 10:33:00' 
       and dim_date<'2017-11-08 00:56:22') revenue 
JOIN deviceTable as devices ON 
devices.device_id=revenue.device_id 
and devices.device_name IN ('ABC')

请忽略列名的细微错误,因为在粘贴到这里之前,我已经重命名了列名。请帮助我更好地理解SQL

在该派生表中有两个GROUP BY子句,它们将抛出语法错误

select 
   device_name, 
   revenue.impressions, 
   revenue.clicks, 
   revenue.money_generated, 
   revenue.ad_id 
FROM
   (select
       device_id, 
       dim_ad_id,
       SUM(imp_count) as impressions,
       SUM(click_count) as clicks,
       SUM(money_generated) as revenue,
    from 
       revenue
    GROUP BY 
       ad_id, device_id        --fixed syntax here
    WHERE 
       dim_Date>'2017-11-02 10:33:00' 
       and dim_date<'2017-11-08 00:56:22') revenue 
JOIN 
    deviceTable as devices ON 
    devices.device_id = revenue.device_id 
    and devices.device_name IN ('ABC')
LEFT JOIN 
    Ads on
    Ads.ad_id = revenue.dim_id --or what ever it should be

哦,孩子!我的错。。让我试着回去:谢谢你的快速回复。现在是午夜,这个sqls正在杀死meBro。。太好了:我们已经成功地加入了两个表,,,我现在如何加入广告表来获取广告信息?只要一个例子就可以了。。我将以类似的方式加入remaning 4-5表。我是否应该假设上面给出的所有查询都是一个虚拟表,并将其与我们的ad表链接?一个例子将解释所有的事情。广告信息存储在哪里?这是个问题。在一个单独的广告表中。我们在收入中有ad_id要映射。报表是否运行??如果它不出错,我会很惊讶的。