如果条件为true,则SQL筛选行
我正在尝试运行一个查询,该查询将按此表达式筛选行(如果实例名称为“1%”,则删除具有相同EntityKeyID的所有行) 我删除了示例中的一些列,没有放置它们的位置如果条件为true,则SQL筛选行,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我正在尝试运行一个查询,该查询将按此表达式筛选行(如果实例名称为“1%”,则删除具有相同EntityKeyID的所有行) 我删除了示例中的一些列,没有放置它们的位置 SELECT EntityKeyID ,[StatusTypeID] ,[InternalNote] ,[InstanceName] ,[DateRequired] ,[LinkName] ,[VendorName] FROM [A
SELECT
EntityKeyID
,[StatusTypeID]
,[InternalNote]
,[InstanceName]
,[DateRequired]
,[LinkName]
,[VendorName]
FROM [ASTRO].[dbo].[vw_EntityServices_Legs]
where (SELECT statustypeID from vw_EntityServices_Legs where InstanceName LIKE '1 %') NOT IN InstanceName
你的话
如果实例名称类似于“1%”,则删除所有具有相同名称的行
EntityKeyID
你的
WHERE
子句有什么问题;除此之外,您在中使用的,只有一个值,没有任何括号(()
)。它应该是不在(InstanceName)
或!=InstanceName
。(如果你只打算提供一个值,我建议使用后者)。我在测试不同的东西时忘记了注释,我尝试了这样做不起作用。它不应该是instancename不在(选择)?如果你想过滤EntityKeyID,为什么要引用statustypeID。问题对我来说并不清楚,“我试过那个方法不起作用”。为什么?一个错误,一个意外的行为,一只猴子从SQL Server中跳出来,悄悄地说“拒绝访问”,然后再爬回来?:)请详细说明;提供详细信息/错误信息/等。
where EntityKeyID not in ( select nl.EntityKeyID
from vw_EntityServices_Legs nl
where nl.InstanceName LIKE '1 %'
)