【问题标题】:select * where id= {multiply values) [duplicate]select * where id= {multiply values) [重复]
【发布时间】:2014-10-03 21:00:43
【问题描述】:

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

看起来像这样:

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

如何得到结果?

附:我听着——这种方式是不对的。

所以,另一种方法是使用 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"];                 
                }
            }
        }

谢谢!

【问题讨论】:

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


【解决方案1】:

您可以使用以下查询:-

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

【讨论】:

    【解决方案2】:
    SELECT * FROM Table WHERE id IN (79,86,42)
    

    【讨论】:

      猜你喜欢
      • 2014-01-27
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 2023-03-20
      • 2018-02-06
      • 2014-10-26
      • 1970-01-01
      相关资源
      最近更新 更多