2016-12-02 2 views
0

解決するにはこの問題が発生しました 任意のショップから支払いの売上高を取得する関数を作成します。店は名前で検索する必要があります。 は、私はそれをコンパイルするために行くときまで追加が、金額を持って、これまでSQL - 金額に関連する別の値を検索して合計を加算する

SELECT shopname SUM (amount) AS sales 
FROM frs_Shop, frs_Payment 
WHERE shopname = "shop name" 

これを持って、私はそれだけのものを追加したい

INSERT INTO frs_Payment 
(payid, amount, paydatetime,   empnin,  custid, pstatusid, ptid) 

    values 

    (101, "3.99", "2015-10-26 16:26:15", "NIN001", 1, 1, 1), 
    (95, "15.96", "2015-09-24 16:26:15", "NIN001", 1, 1, 1), 
    (102, "3.99", "2015-10-11 13:25:31", "NIN003", 2, 1, 1), 
    (11, "11.97", "2015-06-12 19:37:59", "NIN010", 3, 1, 1), 
    (7, "11.97", "2015-04-11 12:41:28", "NIN010", 3, 2, 4), 
    (8, "7.98", "2015-05-05 22:49:02", "NIN010", 3, 1, 1), 
    (32, "15.96", "2015-07-19 02:26:49", "NIN024", 5, 2, 4), 
    (83, "7.98", "2015-08-20 16:21:08", "NIN011", 5, 2, 4), 
    (6, "15.96", "2015-03-04 10:51:03", "NIN027", 6, 2, 4), 
    (17, "3.99", "2015-10-03 01:06:15", "NIN028", 6, 1, 1), 
    (39, "11.97", "2015-03-24 20:03:05", "NIN027", 6, 1, 1), 
    (103, "3.99", "2015-10-27 14:45:11", "NIN009", 7, 1, 1), 
    (62, "15.96", "2015-10-12 14:23:23", "NIN001", 8, 1, 1), 

このテーブル内のすべての金額を加算します私はempninで指定します

+3

'FROM'節にカンマを使用しないでください。 *常に*明示的で適切な 'JOIN'構文を使用します。 –

+0

empninまたはshopnameでフィルタリングしていますか?または両方? –

答えて

0

明示的な結合とGROUP BYを使用できます。私はfrs_Shopとfrs_Paymentの間のプライマリ/外部キーの関係について仮定しました。

SELECT s.shopname 
     , p.empnin 
     , SUM (p.amount) AS sales 
FROM frs_Shop s 
INNER JOIN frs_Payment p on s.empnin = p.empnin 
WHERE s.shopname = "shop name" 
GROUP BY s.shopname, p.empnin 
関連する問題