日期:2014-05-17  浏览次数:20604 次

怎样实现SQL一条语句查询多条信息
我举个例子哈:有一个表(R),然后有这几个字段:金额(Money)、税务(Tax)、类型(Type)。要求:有A级对应的金额和税务,类型(Type)为:A,   B级对应的金额和税务,类型(Type)为B,   C级对应的金额和税务,类型(Type)为:C 。那么要求查询A、B、C级分别对应的税务和金额是多少?用一条SQL实现。我分三条写的话是这样子的:
        Select Money,Tax from R where Type = 'A';
       Select Money,Tax from R where Type = 'B'; 
       Select Money,Tax from R where Type = 'C';    
那么,合成一条SQL呢?        
------最佳解决方案--------------------
我猜想是这样:

 
 SELECT  CASE WHEN type = 'a' THEN [money]
              WHEN type = 'b' THEN [money]
              WHEN type = 'c' THEN [money]
         END [Money] ,
         CASE WHEN type = 'a' THEN Tax
              WHEN type = 'b' THEN Tax
              WHEN type = 'c' THEN Tax
         END Tax
 FROM    R

------其他解决方案--------------------
想要什么结果? 举例吧
 Select Money,Tax from R where Type in ('A','B','C')
不知道对不?
------其他解决方案--------------------
select  U_LCInvAmt,U_LCTaxAmt
      (case U_Format when '31' then 'A级别' 
                         when '35' then 'B级别' 
                         when '32' then 'C级别' 
                         when '36' then 'D级别'
                         else '数据错误' end ) as type_Level from [@cps_tbl_OTAX] 
这个吧你应该知道是什么问题的  不能有逗号

------其他解决方案--------------------
我可不可以这样理解?或者说你需要的结果是这样的?
金额  税务  级别
$10   200   A
$15   229   B
$20   260   C
.....

那么大概的语句是这么的:

select  Money,Tax,
      (case Type when 'A' then 'A级别',  
                 when 'B' then 'B级别' ,
                 when 'C' then 'C级别'