我想对临时表进行内部连接,但前提是另一个变量不为 NULL?例如,我有一个用户表,我传入一个字符串,其中用户 ID 用分号分隔。我将它读入一个临时表,并针对用户表进行内部连接,但前提是用户 ID 的字符串不为空。否则我想返回所有用户行。
存储过程有一个变量传入:
@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 为空,那么我想匹配用户表中的所有行。