代码之家  ›  专栏  ›  技术社区  ›  eugeneK

TSQL查询帮助

  •  0
  • eugeneK  · 技术社区  · 14 年前

    我使用的是SQL Server 2005标准。

    我有带有以下列的用户表:

    userID(int),
    userImage(varchar),
    userText(varchar),
    userLastVisit(smalldatetime),
    isActivated (bit),
    userHobby1 (bit),
    .....
    userHobby10 (bit)
    userCharacteristic1 (bit),
    .....
    userCharacteristic10 (bit)
    

    我做了6个查询来选择

    1. 两周未登录的用户
    2. 没有图片的用户
    3. 没有文本的用户
    4. 没有单一爱好的用户
    5. 没有单一特征的用户
    6. 未激活其帐户的用户

    现在,我需要得到的是一个用户列表,其中包含需要告知的操作。

    例如,userid 2004没有图像,也没有单一的爱好。每个用户只应在列表中出现一次,并且需要完成所有操作。

    事先谢谢。

    1 回复  |  直到 14 年前
        1
  •  2
  •   devio    14 年前

    在以下情况下尝试字符串连接和大小写:

    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