我正在处理一个查询页面,其中用户选择一个代表不同类型的值,每个类型都由一个 ID 标识。问题是使用 WHERE IN 方法从数据库中选择这些 ID。
这是我的 SQL 语句
SELECT M.REG_NO, T.TYPE_ID
FROM MAIN AS M
INNER JOIN CLASSIFICATION AS C
ON M.REG_NO = C.REG_NO
INNER JOIN TYPE AS T
ON T.TYPE_ID = C.TYPE_ID
WHERE T.TYPE_ID IN (@Types)
它适用于一个单一的值,例如。46,但如果值在括号中,则不是,例如。(46)或('46'),它应该是IN的方式。
我正在使用 Visual Studio,它会自动生成访问表适配器以获取值的方法,所以我认为我必须通过 SQL 来执行此操作。
我正在传递一个字符串,例如。Types = "46,267,2010" ,进入适配器方法,该方法将字符串传递到 SQL 语句中的 @Types 中。
任何帮助都会很棒。谢谢!