大家好,我正在寻找一种方法,将一个表中的数据存储在2个局部变量中,在一个选择语句中
DECLARE @TITLE NVARCHAR()
DECLARE @DESCRIPTION NVARCHAR()
所以结构是这样的
experienceID(int)| title(string)| description(string)|用户id
2 asd 1 4 dqd asdsad 1 5 09 2 7 456 2
我想要做的是检查用户是否有任何经验,如果是这样存储它,同样选择我想检查用户是否有任何与任何体验相关的描述,并将其存储在变量中
结果将是:
@TITLE =如果userId = X有经验,则来自title列的任何值
@DESCRIPTION =将是第一个非空字符串的值
EX:对于userId = 1,有经验,因此会有标题和说明的数据
EX:对于userId = 2,有经验,但只有标题有数据
EX:对于userId = 3,没有经验,所以我没有任何数据
对于我需要将结果存储在2个局部变量中的所有情况,我不在乎它们是否有价值
谢谢。
答案 0 :(得分:4)
SELECT @TITLE = MIN(NULLIF(TITLE,'')), @DESCRIPTION = MIN(NULLIF(DESCRIPTION,''))
FROM dbo.Experiences
WHERE UserId = @UserId
GROUP BY UserId
答案 1 :(得分:0)
DECLARE @VAR
DECLARE @VAR2
SET @VAR = SELECT DESCRIPTION FROM SOMETHING WHERE DESCRIPTION NOT NULL AND DESCRIPTION NOT LIKE '' AND userid = x
SET @VAR2 = SELECT ExperienceId FROM SOMETHING where userid = x
如果您有连接到体验表内部的用户表,请在experienceid
上加入根据您的需要调整查询。
答案 2 :(得分:0)
DECLARE @TITLE NVARCHAR(20)
DECLARE @DESCRIPTION NVARCHAR(20)
SELECT @TITLE = title, @DESCRIPTION = description
from mytable
where description is not null
SELECT @TITLE, @DESCRIPTION