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

这句SQL该怎么写(关于用SELECT进行赋值)
use   pubs
declare   @name   nvarchar(50)

--这里可以用一句SELECT的SQL语句实现这样的需求么?
--如果没有查询结果,将@name= ' '
--如果有查询结果,则为查出记录集的第一条结果的au_lname
select   @name=au_lname  
from   authors
where   au_id= '11111 '



------解决方案--------------------
use pubs
declare @name nvarchar(50)

--用两句这样写
select top 1 @name=au_lname from authors where au_id= '11111 '
select @name=isnull(@name, ' ')

--如果非要用一句的话
select @name=isnull((select top 1 au_lname from authors where au_id= '11111 '), ' ')