日期:2014-05-18  浏览次数:20507 次

求教sql问题
SQL code

/*
    查询opseq如果存在取sortseq最大值,不存在设置sortseq=5
*/
declare @main table ( sortseq int,opseq int )
insert into @main select 10,1010 union select 20,1010
--select * from @main
declare @seq int
if exists (select count(*) from @main where opseq=10110)--此opseq不存在
    select @seq=max(sortseq) from @main where opseq=10110 
else
    set @seq=5
select @seq
/*
    @seq最后显示为null
*/



------解决方案--------------------
你用case when 来实现不更好吗?会写不?不会写先看看联机丛书,实在不行再回复吧
------解决方案--------------------
declare @main table ( sortseq int,opseq int )
insert into @main select 10,1010 union select 20,1010
--select * from @main
declare @seq int
if exists (select 1 from @main where opseq=10110)--此opseq不存在
select @seq=max(sortseq) from @main where opseq=10110 
else
set @seq=5
select @seq