sql - IF EXISTS语句中的UNION无法正常工作

标签 sql union

SELECT A, B, C FROM TUser

UNION

IF EXISTS(SELECT dataUserId FROM TUserData WHERE DataId = @dataId AND UserId = @userId)
  BEGIN
    SELECT @dataUserId  = dataUserId FROM TUserData WHERE DataId = @dataId AND UserId = @userId

    SELECT A, B, C FROM TUser WHERE UserId = dataUserId 
  END

最佳答案

您可以像这样转换它:

SELECT @dataUserId  = dataUserId FROM TUserData
WHERE DataId = @dataId AND UserId = @userId

IF (@dataUserId IS NOT NULL)
  BEGIN
    SELECT A, B, C FROM TUser
    UNION
    SELECT A, B, C FROM TUser WHERE UserId = @dataUserId 
  END
ELSE
  SELECT A, B, C FROM TUser

关于sql - IF EXISTS语句中的UNION无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415314/

相关文章:

mysql - 同时从多个mySQL表查询

python - 多个集合并集以及列表理解

mysql - 如何跨 2 行执行 WHERE 子句?

sql - 错误代码 : 1241. 尝试子查询时操作数应包含 1 列

sql - 关于查询执行的问题

c# - 回发后如何保持 DropDownList1 的选定值?

MySQL、SQL - 如何同时选择、更新和替换

mysql - 打印嵌套 Left Join + Union MySQL 查询中的所有行

mysql - 在 MySQL 中,我可以使用 UNION 进行 SELECT 但根据第一个查询限制第二个查询的行吗?

c# - 如何像我在 Mysql 查询中执行的那样使用 Linq 执行联合