一个Case When条件语句求解解决思路
一个Case When条件语句求解
表A,表B
另一种可能就是它可能数字或是记录有多条,那么就执行
不知有没有描述清楚
------解决方案--------------------
表A,表B
- SQL code
Select * From 表A Where .....
- SQL code
Select ItemName From 表B Where plan_id=@plan_id
- SQL code
Select * From 表A
另一种可能就是它可能数字或是记录有多条,那么就执行
- SQL code
Select * From 表A Where ID IN (Select ItemName From 表B Where plan_id=@plan_id )
不知有没有描述清楚
------解决方案--------------------
- SQL code
Select ItemName From 表B Where plan_id=@plan_id if (@@rowcount = 1) and (ItemName = 'xx') Select * From 表A else Select * From 表A Where ID IN (Select ItemName From 表B Where plan_id=@plan_id )
------解决方案--------------------
- SQL code
drop table tb create table tb (id int,AN varchar(8000),CN varchar(8000)) insert tb select 1,'a','121' insert tb select 2,'','123' insert tb select 3,'s','123' create table tb (id int,AN varchar(8000),CN varchar(8000)) insert tb select 1,'a','121' insert tb select 2,'','123' if(exists(select 1 from tb where an != '' and cn='123') ) exec('select * from tb where an !='''' and cn =''123''') else exec('select * from tb where an ='''' and cn =''123''')
------解决方案--------------------
使用
if else
- SQL code
declare @ID int set @ID = 1 if @ID = 1 begin select COunt(*) from sysobjects set @ID = 2 end else select count(*) from sysfiles
------解决方案--------------------
if @@rowcount = 1 and Case_ItemID = 'All'
????????????????////////
郁闷,怎么能这样用的
----------------
- SQL code
declare @DisplayChar int declare @Plan_ID int declare @Case_ItemID varchar(20) set @Plan_ID ='1006' Select @Case_ItemID = Ltrim(Case_ItemID) From Report_Planparameter2 Where Plan_Id =@Plan_ID and Case_name = 'account' if @@rowcount = 1 and @Case_ItemID = 'All' select @DisplayChar = '' else select @DisplayChar = '1'