2

このクエリを使用して、SQL Server 2008 からデータを取得しています。

select 
    g.godown_name, s.supplier_name, t.type_name,
    r.bags_instock, b.lb_per_bag, t.rate
from 
    tbl_godown g, tbl_yarn_supplier s, tbl_yarn_type t,
    tbl_yarn_receive r, tbl_godown_transaction gt, tbl_yarn_book b
where 
    r.book_id = b.book_id and
    s.supplier_id = b.supplier_id and
    t.type_id = b.type_id and
    gt.godown_id = g.godown_id and
    gt.receive_id = r.receive_id

結果は次のとおりです。

ここに画像の説明を入力

ここで、一部のトランザクションには同じGodown, Suppliar, Tpe&がありますlbs_per_bag

1. 1 & 7
2. 2,3,4,5
3. 8,9,10,11
4. 12
5. 6

いずれかの行が同じである場合、Godown, Suppliar, Tpe & lbs_per_bagそれらは繰り返されるべきではありません

結果はそのようになるはずです。

ありがとう

応答待ち

ここに画像の説明を入力

4

2 に答える 2

2

これは私がそれを行う方法です:

SELECT 
    g.godown_name, 
    s.supplier_name, 
    t.type_name,
    b.lb_per_bag, 
    SUM(r.bags_instock) As total_bags_instock, 
    SUM(t.rate * r.bags_instock) 
        /SUM(r.bags_instock) As average_rate

FROM tbl_godown_transaction  As gt
JOIN tbl_godown          As g  ON gt.godown_id   = g.godown_id 
JOIN tbl_yarn_receive    As r  ON gt.receive_id  = r.receive_id
JOIN tbl_yarn_book       As b  ON r.book_id      = b.book_id 
JOIN tbl_yarn_supplier   As s  ON s.supplier_id  = b.supplier_id 
JOIN tbl_yarn_type       As t  ON t.type_id      = b.type_id

GROUP BY
    g.godown_name, 
    s.supplier_name, 
    t.type_name,
    r.lb_per_bag
于 2012-08-26T15:28:05.427 に答える
1

内部結合を使用することを好む

 select 
        g.godown_name, s.supplier_name, t.type_name,
        r.bags_instock, b.lb_per_bag, t.rate
    from 
        tbl_godown g
        inner join tbl_godown_transaction gt
           on gt. gt.godown_id = g.godown_id 
        inner join  tbl_yarn_receive r
           on gt.receive_id = r.receive_id
        inner join tbl_yarn_book b
           on r.book_id = b.book_id
        inner join tbl_yarn_supplier s
           on  s.supplier_id = b.supplier_id
        inner join tbl_yarn_type t
           on t.type_id = b.type_id       
    group by    g.godown_name, s.supplier_name, t.type_name,
        r.bags_instock, b.lb_per_bag, t.rate
于 2012-08-26T14:54:26.230 に答える