select * where id = {multiply values)

时间:2014-08-11 05:33:05

标签: c# sql sql-server-2008-r2

我有一个包含ID的列表List<Int32>,并希望从另一个表中选择一些值,其中id = ids [0],ids [1],...

它看起来像这样:

 string query=String.Format("@ SELECT values from Table WHERE id=???");

如何获得结果?

P.S。我倾听 - 这种方式不对。

所以,另一种方法 - 使用Join:

   string queryString = String.Format(@" SELECT * FROM Table1 [t1]
                                           join [Table2] [t2]  
                                           on [t1].idTable1=[t2].id where [idParamValue]={0}",  idParamValue);

那么,我应该使用:

using (var sqlCmd = new SqlCommand(queryString, _connection))
        {
            using (var sqlReader = sqlCmd.ExecuteReader())
            {
                while (sqlReader.Read())
                {
                    var param1=(String)sqlReader["param_name"];                 
                }
            }
        }

谢谢!

2 个答案:

答案 0 :(得分:0)

SELECT * FROM Table WHERE id IN (79,86,42)

答案 1 :(得分:-3)

您可以使用以下查询: -

string query=String.Format("@ SELECT values from Table WHERE id in(value1,value2,value3,value4,...)");