3

我想在这里问一个问题...让我解释一下...这里我有 3 个表,1. transaction_table 2. transaction_detail 3. item

不,我的问题是我想知道本月(2013-01)的商品销售额,例如,这是我的表格结构......

1 事务表

--------------------------
idTransaction | date       | idUser | idCustomer  | total   | NOSC
--------------------------------------------------------------------
1             | 2013-01-01 | 3      | 4           | 500000  | 1CO
2             | 2013-01-01 | 3      | 5           | 450000  | 2CO
3             | 2013-01-01 | 3      | 6           | 250000  | 3CO

2 交易细节

-----------------------------------------------------------------
idTransaction | idItem | qty | price
----------------------------------------
1             | 1      | 2   | 250000
2             | 2      | 1   | 250000
2             | 3      | 1   | 200000
3             | 1      | 1   | 250000

3 项目表

idItem | Name Item
---------------------------------------
1      | glass
2      | Medicine A
3      | Medicine B

4 客户

 idCustomer | Name Customer
    --------------------------------------
    4             | Abuh
    5             | Abeh
    6             | ABooh

所以基于这些表我想得到这样的数据......

Name Item | Nosc | Customer | Sold Quantity | @ Price | Total
---------------------------------------------
Glass     | 1CO  | Abuh     |2              | 250000  | 500000
Glass     | 3CO  | ABooh    |1              | 250000  | 250000
Medicine A| 2CO  | Abeh     |1              | 250000  | 250000
Medicine B| 2CO  | Abeh     |1              | 200000  | 200000

任何人都可以帮助我吗??

4

2 回答 2

4
SELECT  b.`name Item`,
        a.qty `Sold Quantity`,
        a.price `@ price`,
        (a.qty * a.price) Total
FROM    transaction_detail a    
        INNER JOIN Item b
            ON a.idItem = b.idItem

上面的查询基于示例中给出的记录和结果。后续问题:是否有可能以不同的价格出售某个商品?如果是这样,你如何计算它?

更新 1

SELECT  b.`name Item`,
        SUM(a.qty) `Sold Quantity`,
        a.price `@ price`,
        (SUM(a.qty) * a.price) Total,
        c.Date
FROM    transaction_detail a    
        INNER JOIN Item b
            ON a.idItem = b.idItem
        INNER JOIN `transaction` c
            ON a.idtransaction = c.idTransaction
GROUP   BY b.idItem, b.`name Item`, a.price, c.Date

更新 2

SELECT  b.`name Item`,
        SUM(a.qty) `Sold Quantity`,
        a.price `@ price`,
        (SUM(a.qty) * a.price) Total,
        d.`Name Customer`
FROM    transaction_detail a    
        INNER JOIN Item b
            ON a.idItem = b.idItem
        INNER JOIN `transaction` c
            ON a.idtransaction = c.idTransaction
        INNER JOIN Customer d
            ON d.idCustomer = c.idCustomer
GROUP   BY b.idItem, b.`name Item`, a.price, 
           MONTH(c.Date), YEAR(c.Date), d.`Name Customer`
于 2013-02-04T07:29:30.527 回答
1
select it.item_name,td.qty,td.price,t.total 
  from transaction as t,transaction_detail as td,item_table as it 
  where t.idTransaction=td.idTransaction 
    and td.idItem=it.idItem 
    and t.date between 'YEAR(CURDATE())."-".MONTH(CURDATE())."-"."01"' 
                   and 'YEAR(CURDATE())."-".MONTH(CURDATE())."-"."31"'
于 2013-02-04T07:40:46.857 回答