【发布时间】:2017-03-02 12:23:15
【问题描述】:
以下 sql 代码 sn-p 用于使用多对多关系从 sql server 检索数据。 我未能实施 group-by 并加入这里 请提出任何好的解决方案来获得我在下面提到的结果。
select COUNT(inc.inc_id) ,Contract.Contract_n,Cust_id,
SUM(inc.service_time) / 60 as Service_Time
from inc
inner join item_con
inner join Contract on item_con.Contract_id = Contract.Contract_id
on inc.item_id = item.item_id
ORDER BY Cust_id,Contract.Contract_n
表格:公司
+--------+---------+---------+-----------+
| inc_id | cust_id | Item_id | Serv_Time |
+--------+---------+---------+-----------+
| 1 | 100 | 55 | 60 |
| 2 | 100 | 33 | 120 |
| 3 | 200 | 44 | 180 |
| 4 | 300 | 77 | 40 |
| 5 | 200 | 66 | 300 |
| 6 | 100 | 55 | 120 |
| 7 | 200 | 44 | 20 |
+--------+---------+---------+-----------+
表格:item_con
+--------+---------+
| con_id | item_id |
+--------+---------+
| 500 | 33 |
| 600 | 44 |
| 700 | 55 |
| 800 | 66 |
| 900 | 77 |
| 300 | 55 |
+--------+---------+
表:合约
+--------+---------+
| con_id | item_id |
+--------+---------+
| 300 | ABC |
| 500 | EFG |
| 600 | HIJ |
| 800 | KLM |
| 700 | NOP |
| 900 | QRS |
+--------+---------+
结果:
+-------+------+----------+--------------+
| Calls | Cust | Contract | Total_S_Time |
+-------+------+----------+--------------+
| 2 | 100 | NOP | 180 |
| 1 | 100 | EFG | 120 |
| 2 | 200 | HIJ | 200 |
| 1 | 200 | KLM | 40 |
| 1 | 300 | QRS | 300 |
+-------+------+----------+--------------+
【问题讨论】:
标签: sql-server sql-server-2008 join qsqlquery