Sql server sqlserver中的搜索问题

Sql server sqlserver中的搜索问题,sql-server,search,stored-procedures,sql-server-2008-r2,Sql Server,Search,Stored Procedures,Sql Server 2008 R2,我需要在表格中搜索列中包含我所有期望值的项目,即。 我有一张桌子: ID : 1 2 3 3 2 2 2 1 1 3 VALUE : 5 6 5 3 6 7 2 1 9 0 我想给StoredProc一个值列表,例如(“6,7,2”),它会返回所有具有给定值的ID。在这种情况下,它只会返回2 如果我想搜索那些至少有一个我知道的值的值,我可以使用“IN”,但所有的值我都找不到 先谢谢你 在SQL Server 2008中,您可以使用Afshin Arefi 这些允许您将值表传递给存储过程,

我需要在表格中搜索列中包含我所有期望值的项目,即。 我有一张桌子:

ID :    1 2 3 3 2 2 2 1 1 3
VALUE : 5 6 5 3 6 7 2 1 9 0
我想给StoredProc一个值列表,例如(“6,7,2”),它会返回所有具有给定值的ID。在这种情况下,它只会返回2

如果我想搜索那些至少有一个我知道的值的值,我可以使用“IN”,但所有的值我都找不到

先谢谢你


在SQL Server 2008中,您可以使用Afshin Arefi

这些允许您将值表传递给存储过程,并将其视为任何其他表(用于子查询、联接等)


在查询方面-如果您确实使用表值参数,您可以查询表的大小(行数),在
ID
字段中使用
groupby
和计算行数的
HAVING

您使用的是什么数据库?它们都有不同的功能来支持这一点,因此了解这一点很重要。我使用的是MS SQL SERVER 2008 R2。另一种方法是临时表作为存储过程的输入/输出,但表变量(如果适用)是一种更干净的解决方案。感谢您,它起到了作用:从[CommodityClass]、[CommodityClassDynamicAttribute]中选择CMC_ID,其中(CMC_ID=CCA_CMC_ID)和(CCA_DAT_ID IN(@CCA_DAT_ID_LIST))组中的CMC_ID具有计数(CCA_DAT_ID)=@CCA_DAT_ID_计数