[英]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.