【发布时间】:2013-02-20 06:41:29
【问题描述】:
我想对临时表进行内部连接,但前提是另一个变量不为 NULL?例如,我有一个用户表,我传入一个字符串,其中用户 ID 用分号分隔。我将它读入一个临时表,并针对用户表进行内部连接,但前提是用户 ID 的字符串不为空。否则我想返回所有用户行。
stored proc 有一个变量传入:
@UidList varchar(max),
这是一串用户ID,用分号分隔。 这变成了一个临时表
DECLARE @List TABLE (UserUid uniqueidentifier NOT NULL)
然后另一个函数将传入的字符串转换为表格
IF @UidList IS NOT NULL
INSERT INTO @List(UserUid)
SELECT ItemUid
FROM dbo.AFN_ConvertUidListToTable(@UidList)
然后我加入用户表
select * from users
...
inner join @List on users.userid = @List.UserUid`
但是如果传入的字符串@UidList 为空,那么我想匹配用户表中的所有行。
【问题讨论】:
-
你能分享你的代码吗?
-
一行代码讲了1000多个字,或者那句话又是怎么回事?
标签: sql sql-server tsql