declare @id nvarchar(50) select @id=ID from Client_V WHERE City = @City AND Unit = @Unit AND Name = @Nameif(@id is null) begin select -1 end else begin select @id end
SELECT isnull(Id,-1) FROM Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name
if exists (SELECT Id FROM Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name) SELECT Id FROM Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name else select -1 --或者 select distinct id=(case when exists(SELECT Id FROM Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name) then Id else -1 end) from Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name
哥啊,不存在的时候不会产生为null的记录
是吗!几天不来,生疏了! create table tb(id int identity(1,1),class int,num int) insert into tb select 1,2 union all select 1,5 union all select 1,5 union all select 1,5 go select id from tb where id=7 union all select top 1 -1 from tb where not exists(select 1 from tb where id=7) --子查询条件与前一主查询条件一样 /* id ----------- -1(1 行受影响)*/ go drop table tb
谢谢诸位,不过我最后是这样写的 SELECT ifnull( ( SELECT Id FROM Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name ), -1 );
declare @id nvarchar(50)
select @id=ID from Client_V
WHERE City = @City
AND Unit = @Unit
AND Name = @Nameif(@id is null)
begin
select -1
end
else
begin
select @id
end
WHERE City = @City
AND Unit = @Unit
AND Name = @Name
AND Unit = @Unit AND Name = @Name)
SELECT Id FROM Client_V WHERE City = @City
AND Unit = @Unit AND Name = @Name
else
select -1
--或者
select distinct id=(case when exists(SELECT Id FROM Client_V WHERE City = @City
AND Unit = @Unit AND Name = @Name) then Id else -1 end)
from Client_V WHERE City = @City AND Unit = @Unit AND Name = @Name
是吗!几天不来,生疏了!
create table tb(id int identity(1,1),class int,num int)
insert into tb select 1,2 union all select 1,5 union all select 1,5 union all select 1,5
go
select id from tb where id=7
union all
select top 1 -1 from tb where not exists(select 1 from tb where id=7) --子查询条件与前一主查询条件一样
/*
id
-----------
-1(1 行受影响)*/
go
drop table tb
SELECT ifnull(
(
SELECT Id FROM Client_V
WHERE City = @City
AND Unit = @Unit
AND Name = @Name
),
-1
);