表A,表BSelect * From 表A Where .....Select ItemName From 表B Where plan_id=@plan_id
作为条件,它的结果有二种可能,一种是ItemName = 'xx' ,那么就直接执行
Select * From 表A 另一种可能就是它可能数字或是记录有多条,那么就执行Select * From 表A Where ID IN (Select ItemName From 表B Where plan_id=@plan_id )
不知有没有描述清楚
作为条件,它的结果有二种可能,一种是ItemName = 'xx' ,那么就直接执行
Select * From 表A 另一种可能就是它可能数字或是记录有多条,那么就执行Select * From 表A Where ID IN (Select ItemName From 表B Where plan_id=@plan_id )
不知有没有描述清楚
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 )不知道LZ是不是要这样的效果。ItemName的值必须是等于'xx'并且只能有一行,则执行直接查询表A,否则就是下面这条查询语句
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 if
判断
if elsedeclare @ID int
set @ID = 1
if @ID = 1
begin
select COunt(*) from sysobjects
set @ID = 2
end
else
select count(*) from sysfiles
declare @Plan_ID int
set @Plan_ID ='1006'
Select Ltrim(Case_ItemID) as 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'执行语句为什么提示:服务器: 消息 207,级别 16,状态 3,行 7
列名 'Case_ItemName' 无效。
????????????????////////
郁闷,怎么能这样用的
----------------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'
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'