【发布时间】:2019-04-16 09:41:46
【问题描述】:
我有一个带有 case 语句的 SQL 查询。 case 语句有一个子查询。我想用连接替换(删除)子选择。有可能的?我该怎么做?
查询:
SELECT tablex.Abnumber, CASE WHEN Abdate is not null AND isnull(Abnumber,0) > 1 AND Abdate < (SELECT Abdate FROM t_tablex WHERE Annumber = @Annumber AND Abnumber= @Abnumber-1) THEN 'bla bla' ELSE '' END
FROM t_tablex AS tablex
WHERE (@Annumber IS NULL OR tablex.Annumber= @Annumber)
AND (@AbnumberIS NULL OR tablex.Abnumber= @Abnumber)
【问题讨论】:
-
请提供样本数据和期望的结果。需要有关数据的更多信息。
-
如果你能提供一些数据会很棒。我也对你的桌子的样子很感兴趣。更具体地说,表名、列名以及您拥有的主键和外键。另一个想到的问题是你的局部变量是在哪里设置的。这可能是在存储过程中吗?