假设我有一个包含3列的表格:Id,类别,名称。
我想以这种方式查询表:为我获取{ Category = "Cat1" AND Name = "ABC" }
OR{ Category = "Cat2" AND Name = "ABC" }
或OR的行 { Category = "Cat2" AND Name = "DEF" }
如何?不必求助于WHERE OR
我想使用的庞大列表IN
…但是可以将其与2列一起使用吗?
谢谢!
您可以创建一个临时表
create table #temp (Category varchar(50), Name varchar(50))
insert into #temp values ('Cat1', 'abc'), ('Cat2', 'cde'), ('Cat3', 'eee')
然后加入你的主表
select * from table1
inner join #temp
on table1.Category = #temp.Category and table1.Name = #temp.Name
如果要从代码中使用该方法,则可以使用表参数进行操作。
定义表类型:
CREATE TYPE dbo.ParamTable AS TABLE
( Category varchar(50), Name varchar(50) )
和一个存储的proc将读取数据:
create procedure GetData(@param dbo.ParamTable READONLY)
AS
select * from table1
inner join @param p
on table1.Category = p.Category and table1.Name = p.Name
然后,您可以使用C#代码中的代码,例如:
using (var conn = new SqlConnection("Data Source=localhost;Initial Catalog=Test2;Integrated Security=True"))
{
conn.Open();
DataTable param = new DataTable();
param.Columns.Add(new DataColumn("Category", Type.GetType("System.String")));
param.Columns.Add(new DataColumn("Name", Type.GetType("System.String")));
param.Rows.Add(new object[] { "Cat1", "abc" });
using (var command = conn.CreateCommand())
{
command.CommandText = "GetData";
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@param", param);
using (var reader = command.ExecuteReader())
{
// reading here
}
}
}
问题内容: 我敢肯定这是一个微不足道的操作,但是我不知道它是如何完成的。 肯定有比这更聪明的东西: 我正在寻找将它们全部添加到一个查询中,例如: 如何使用值列表过滤Django查询? 问题答案: 从Django文档中:
问题内容: 我有这张桌子: 我想使用hibernate机制查询该表(以使用第二个缓存级别)。hibernate查询的结果必须是一个哈希映射,其中键是字段ID,值是字段名称。 我如何用HQL编写它? 如果使用map,则只能使用别名,并且如果对对象使用构造函数,则必须将结果转换为hashmap,这非常耗时。 查询的结果必须是hashmap: 谢谢 问题答案: 这个问题很老,但这可能仍然可以帮助其他人。
aws cli有一个--query选项,允许您仅选择一些信息。 例如,我只想从ec2实例中获取安全组名称。 如果我跑: 我的输出如下所示: 我还可以使用索引访问列表中的元素: 是否可以查询标记,以代替标记[0]搜索指定名称的标记?
我刚开始冬眠,所以这个问题可能看起来很愚蠢。 由:org.hibernate.queryException:无法解析属性:Application of:xx.xx.xx.xx.xx.compilation[FROM xx.xx.xx.xx.compilation c,其中c.Application.id=:applicationid]在org.hibernate.queryexception.ge
问题内容: 我有一个Cassandra表,为简单起见,它类似于: 我可以使用spark和spark-cassandra-connector为此创建一个基本的数据框架: 我正在努力将JSON数据扩展为其基础结构。我最终希望能够基于json字符串中的属性进行过滤并返回blob数据。类似于jsonData.foo =“ bar”并返回blobData。目前有可能吗? 问题答案: Spark > = 2.
我有一个卡桑德拉表,为了简单起见,看起来像: 我可以使用spark和spark cassandra连接器为此创建一个基本数据框,使用: 不过,我正在努力将JSON数据扩展到它的底层结构中。我最终希望能够根据json字符串中的属性进行筛选并返回blob数据。类似于jsonData.foo="bar"并返回blob数据。这目前可能吗?