0
多対多の関係を使用してSQL Serverからデータを取得するための次のsqlコードスニペット。 私はここでグループバイヤを実装することに失敗しました 私は以下に述べた結果を得るための良い解決策を提案してください。SQLで多対多の関係を使用する方法
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 |
+--------+---------+---------+-----------+
表:
+--------+---------+
| con_id | item_id |
+--------+---------+
| 500 | 33 |
| 600 | 44 |
| 700 | 55 |
| 800 | 66 |
| 900 | 77 |
| 300 | 55 |
+--------+---------+
表item_con:契約
+--------+---------+
| 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 |
+-------+------+----------+--------------+
値は、あなたの結果に、私は結果をoutputedまし –
を繰り返しています。繰り返しは何ですか? –