-4

3 つのテーブルがあり、1 つの主キーと外部キーを使用してこれらのテーブルからデータを選択する必要があります。しかし、1 つのテーブルの 3 番目のテーブルには多くのデータがあります。主キーに基づいてデータを合計する必要があります。

表1 表2 テーブル3

BAl = Balance, met = Method, amo = amount, cst_id, cut_id, cut_i = customer_id

ここで、メソッドに基づいて合計し、同じクエリで 10 個の顧客 ID を合計する必要があります。誰でもこれについて私を助けることができますか?

4

2 に答える 2

0
;WITH cte 
AS
(
    SELECT 
      *, 
      ROW_NUMBER() OVER (ORDER BY  t1.cst_id) RowNum
    FROM Table1 t1
    INNER JOIN Table2 t2 
            ON t1.cst_id = t2.cut_id
    INNER JOIN Table3 t3 
            ON t2.cut_id = t3.customer_id 
           AND t2.BAL = t3.Balance 
           AND t2.amo = t3.amount
)
SELECT SUM(*)
FROM cte
WHERE RowNum Between 1 AND 10
-- You can add a GROUP BY here
于 2012-10-30T08:31:15.170 に答える
0

サンプル データを提供すると、クエリを作成しやすくなります。ただし、METフィールドが数値であり、合計したい場合は、必要です。

select
   t1.cst_n, t2.bal,
   sum(t3.met) as met,
   sum(t3.amo) as amo
from table1 as t1
   inner join table2 as t2 on t2.cut_id = t1.cst_id
   inner join table3 as t3 on t3.cut_i = t1.cst_id
group by t1.cst_n, t2.bal

10 人の顧客すべてのデータを 1 つの数値に合計したい場合は、

select
   sum(t3.met) as met,
   sum(t3.amo) as amo
from table3 as t3
where t3.cut_i in (select t.customerid from @<your variable table with cust. ids> as t)
于 2012-10-30T08:25:08.147 に答える