select * from 
(select t1.no,t1.qty* t2.qty as qty 
from tab t1 join tab t2 on t1.no=t2.no 
group by t1.no,t1.qty* t2.qty 
having count(*)>1
union all 
select no,min(qty)as qty from tab group by no having count(*)=1)t
order by no

解决方案 »

  1.   

    加油阿。这个题目我只想到在其他程序里进行转换,至于在sql中简洁的语句,仰望...
      

  2.   

    CREATE FUNCTION F1  (@NO INT)
    RETURNS int
    AS
    BEGIN
       DECLARE @RESULT INT
       SELECT @RESULT=1
       SELECT @RESULT=@RESULT*QTY FROM TAB WHERE NO=@NO
       RETURN(@RESULT)
    END
    GO
    SELECT DISTINCT NO,DBO.F1(NO) FROM TAB
      

  3.   

    up 一下,求sql!!!!!
    马上给分!!!
      

  4.   

    to supsuccess(火气不小) 我试试,OK,马上给分!!!
      

  5.   

    to supsuccess(火气不小) 老大, 您牛 ,  我给分,,,,,,接着!!!!!
      

  6.   

    怎么给分啊    !!!! csdn 改版了,现在给分在哪了!!!