货物价格对应表a:
gid gprice
 1   10
 2   20
现在我买10件gid为1的物品,5件gid为2的物品,怎么一个查询查出总价钱呢?

解决方案 »

  1.   

    如果兩個貨物需求的數量一致到是可以這樣寫
    SELECT SUM(gprice*10) as gprice FROM dbtable Where gid in( 1, 2 );但是數量不一樣不知道怎麼寫,估計事務應該能搞出來,可惜我對此半生不熟的寫不出來
      

  2.   

    這樣也能得出來,不過看起來太彆扭了SELECT 
    (SELECT SUM(gprice*10) as gprice FROM dbtable Where gid=1)
    +
    (SELECT SUM(gprice*2) as gprice FROM dbtable Where gid=2)
    [+ .....];
      

  3.   


    select sum(if(gid=1,gprice*10,0))+sum(if(gid=2,gprice*5,0)) as total from price group by gid;这个应该可以