我想测试两个 TaskChangeLogID,其中 ID“28”的 NewRollback 为 0,ID“31”的 NewRollback 为 1。
我想确保根据调用的 ID,它选择正确的 NewRollback 编号。我在新窗口中应用下面的代码时遇到错误,因此只需要帮助调整它并学习如何在将来测试此类内容。我仅在 IF 语句行中收到错误。
SELECT isnull(NewRollback, 0) FROM Core.TaskChangeLog
WHERE TaskChangeLogID = 28
SELECT isnull(NewRollback, 0) FROM Core.TaskChangeLog
WHERE TaskChangeLogID = 31
IF (NewRollback = 1)
Select * from Core.TaskChangeLog where NewRollback = 1
ELSE
BEGIN
Select * from Core.TaskChangeLog where NewRollback = 0
END
最佳答案
您不需要 IF
条件来执行此操作,只需 AND/OR
逻辑即可完成此工作
试试这个方法
Select * from Core.TaskChangeLog
where (NewRollback = 1 and askChangeLogID = 28)
OR (NewRollback = 0 and askChangeLogID = 31)
要根据选择
结果执行某些操作,请尝试此操作
IF EXISTS (Select * from Core.TaskChangeLog
where NewRollback = 1 and askChangeLogID = 28) -- Replace with your ID
BEGIN
--some action
END
IF EXISTS (Select * from Core.TaskChangeLog
where NewRollback = 0 and askChangeLogID = 28)
BEGIN
--some action
END
关于sql - 如何在if语句中进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547437/