TSQL查询帮助
我使用的是SQLServer2005标准 我有一个包含以下列的用户表:TSQL查询帮助,sql,sql-server,tsql,Sql,Sql Server,Tsql,我使用的是SQLServer2005标准 我有一个包含以下列的用户表: userID(int), userImage(varchar), userText(varchar), userLastVisit(smalldatetime), isActivated (bit), userHobby1 (bit), ..... userHobby10 (bit) userCharacteristic1 (bit), ..... userCharacteristic10 (bit) 我做了6个查询来选择
userID(int),
userImage(varchar),
userText(varchar),
userLastVisit(smalldatetime),
isActivated (bit),
userHobby1 (bit),
.....
userHobby10 (bit)
userCharacteristic1 (bit),
.....
userCharacteristic10 (bit)
我做了6个查询来选择
提前感谢。在以下情况下尝试字符串连接和大小写:
SELECT UserID,
CASE WHEN UserImage IS NULL THEN 'no image.' ELSE '' END +
CASE WHEN UserText IS NULL THEN 'no text.' ELSE '' END +
... -- more CASE WHEN conditions
AS Info
WHERE (UserImage IS NULL)
OR (UserText IS NULL)
... -- OR same conditions as in CASE WHEN clauses
创建临时表以便插入位和用户ID不是更好吗?这是一个返回唯一用户ID和所有必需信息的查询。如果使用临时表,则需要为每个条件使用INSERT SELECT和UPDATE语句(包括临时表的内部和外部联接),因为多个条件可能与单个用户匹配(如在OP中)。