IF EXISTS(select 1 from TABLEA trn WITH(NOLOCK)
INNER JOIN TABLEB mst
ON trn.ID = mst.ID
Where trn.ID = 1 and trn.SeqNo=@SeqNo )
OR NOT EXISTS(select 1 from TABLEA trn WITH(NOLOCK)
INNER JOIN TABLEB mst
ON trn.ID = mst.ID
where trn.SeqNo=@SeqNo)
BEGIN
--Do something clever here
END
ELSE
BEGIN
--Throw custom error here
END
如果值为空或满足第一个条件,我可以使用此查询执行某些操作,否则我必须向用户抛出一些自定义错误消息。
是否有其他方法可以做到这一点,或者我可以将此查询简化为更快速的查询。
最佳答案
这样地
SELECT CASE
WHEN EXISTS(select 1 from TABLEA trn WITH(NOLOCK)
INNER JOIN TABLEB mst ON trn.ID = mst.ID
Where trn.ID = 1 and trn.SeqNo=@SeqNo)
OR
NOT EXISTS(select 1 from TABLEA trn WITH(NOLOCK)
INNER JOIN TABLEB mst ON trn.ID = mst.ID
where trn.SeqNo=@SeqNo)
THEN 'EXISTS'
ELSE 'NOT EXISTS'
END
关于sql - 如何简化此SQL查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43247662/