多连接查询中的SQL求和

多连接查询中的SQL求和,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在努力为这个设置。这是第一个表的设置。第一个查询只需应用于超过某个日期(例如2012-06-01)的项目 | Table: TIMELOG | | INQUIRY_ID | … | LOGMINS | … | OPERID | … | EDATE | | 2 | | 45 | | bob | | 2012-05-01 |

我正在努力为这个设置。这是第一个表的设置。第一个查询只需应用于超过某个日期(例如2012-06-01)的项目

|                  Table: TIMELOG                  |
| INQUIRY_ID | … |      LOGMINS    | … |  OPERID   | … |    EDATE    |
|     2      |   |       45        |   |  bob      |   | 2012-05-01  |
|     5      |   |       3         |   |  richard  |   | 2012-06-02  |
|     5      |   |       12        |   |  bob      |   | 2012-07-01  |
|     5      |   |       15        |   |  paul     |   | 2012-07-01  |
|     6      |   |       10        |   |  paul     |   | 2012-07-01  |
然后,查询需要使用INQUIRY\u ID进入另一个表,并获得一些附加字段(下一个表中每个INQUIRY\u ID只有一个条目:

|                  Table: INQUIRY                  |
| INQUIRY_ID | … |  CATEGORY_ID    | … |  PROD_ID  |
|     2      |   |       45        |   |  6        |
|     3      |   |       3         |   |  50       |
|     4      |   |       12        |   |  3        |
|     5      |   |       15        |   |  67       |
|     6      |   |       10        |   |  2        |
一旦我们有了CATEGORY_ID和PROD_ID,它们的“友好名称”就在各自的表中

|            Table: CATEGORY            |
| CATEGORY_ID | … |      CATNAME        |
|     45      |   |       Server        |
|     3       |   |       Workstation   |
|     12      |   |       Phones        |
|     15      |   |       Backup        |  
|     10      |   |       Network       |

|            Table: PROD                |
| PROD_ID     | … |      PRODDESC       |
|     6       |   |       SBS 2003      |
|     50      |   |       Windows 7     |
|     3       |   |       iPhone        |
|     67      |   |       Buexec        |  
|     2       |   |       SwitchF       |   
然后,我想对LOGMINS字段进行合计,记住有时每个查询ID会有多个LOGMINS作为结束

| INQUIRY_ID | … |      TOTAL      | … |  CATNAME         | … |   PRODDESC    |
|     2      |   |       45        |   |     Server       |   |   SBS 2003    |
|     5      |   |       30        |   |     Workstation  |   |   Windows 7   |
|     6      |   |       10        |   |     Phones       |   |   iPhone      |
我为大量的细节感到抱歉,我尝试过的查询刚刚爆炸出来,当我进入嵌套查询和多个连接时,我的SQL技能就崩溃了。任何帮助都将不胜感激

我正在运行的查询:

 select 
 timelog.INQUIRY_ID,
 SUM (logmins) AS Total,
 catname,
 proddesc,
 EDATE
from
 timelog
inner join inquiry on timelog.inquiry_id=inquiry.inquiry_id
inner join category on inquiry.category_id = category.category_id
inner join prod on inquiry.prod_id = prod.prod_id
where EDATE > '2013-07-01'
group by
timelog.INQUIRY_ID,
catname,
proddesc,
edate
order by timelog.INQUIRY_ID desc

将数据所在的表连接在一起,然后对保持不变的数据进行分组,并对要添加的字段进行汇总

select 
  inquiry.inquiry_id,
  SUM(logmins),
  catname,
  proddesc
from
   timelog
    inner join inquiry on timelog.inquiry_id=inquiry.inquiry_id
    inner join category on inquiry.category_id = category.category_id
    inner join prod on inquiry.prod_id = prod.prod_id
group by
  inquiry.inquiry_id,
  catname,
  proddesc

这是可行的,但它会在相同的结果中收回多个查询ID,我需要的是将具有相同查询ID的所有行相加,然后将它们作为每个查询ID的一个总数相加。这可能吗?谢谢您的帮助help@Trinitrotoluene您是否添加了其他字段,或者是否存在其他差异行之间?嗨,对不起,这是我的错,我应该说得更具体一些。如果你是这么问的话,我之前列出的一些表中有很多列,其中包含更多数据,我不需要这些列。上面详述的查询应该为查询/catname/proddesc的每个组合返回一行。你能给出一个e吗不属于这种情况的示例?我已经用正在运行的查询更新了原始问题,这返回例如:45558 26备份配置2013-08-02 13:41:06.000 45558 3备份配置2013-08-02 13:41:17.000那些是两行作为示例,很抱歉格式化