select  sum(cast(TranAmt as numeric(19,2))) TranAmt1 from T_Phone_Journal   where  ( Samid Like '%" & strFind & "%') and  RetCode='0000' and TransType=123 
select  sum(cast(TranAmt as numeric(19,2))) TranAmt2 from T_Phone_Journal   where  ( Samid Like '%" & strFind & "%') and  RetCode='0000' and TransType=223
这是两条查询怎样让他们和在一起
在不同条件下取不同的金额我想要的是条件在123的tranamt的和
和  条件在223的tranamt的和tranamt     trantype
100            123
200            223
34             123
12             223根据查询语句求的和123的为134   223的为212
我想要达到这个效果
请问可以吗?

解决方案 »

  1.   

    try:select  sum(cast(TranAmt as numeric(19,2))) TranAmt1,trantype from T_Phone_Journal   where  ( Samid Like '%" & strFind & "%') and  RetCode='0000' and TransType in(123,223) group trantype;
      

  2.   

    Count(case when TransType=123 then TransType end) as localCount,
    Sum(case when TransType=123 then TranAmt end) as localAmt1,
    Count(case when TransType=223 then TransType end) as OtherCount1,
    Sum(case when TransType=223 then TranAmt end) as localAmt2,
      

  3.   

    select sum(tranamt),trantype from t group by trantype;
      

  4.   

    mysql> select sum(tranamt),trantype from t group by trantype;
    +--------------+----------+
    | sum(tranamt) | trantype |
    +--------------+----------+
    |          134 |      123 |
    |          212 |      223 |
    +--------------+----------+
    2 rows in set (0.00 sec)