2016-12-02 19 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