簡體   English   中英

多連接查詢中的SQL總和

[英]SQL Sum in Multiple join query

我正在為此做准備。 這是第一個表的設置。 第一個查詢僅適用於特定日期(例如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_ID進入不同的表並獲得一些其他字段(在此下一個表中,每個INQUIRY_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字段,請記住,有時每個INQUIRY_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

將數據所在的表連接在一起,然后對保持不變的數據進行group ,然后對要添加的字段sum

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM