假设我的表格中有100列。我不知道特定值可能存在于哪些列中。因此,我想检查所有列,如果它存在于100列中的任何一列中,我想选择它。
我搜索了一下,在大多数地方,解决方案似乎是以下内容
select *
from tablename
where col1='myval'
or col2='myval'
or col3='myval'
or .. or col100='myval'
我同意,我也读过一些论坛,据说这样做是对数据库设计不利的情况,但是我正在研究数据库中已经存在的表。
有没有更聪明的方式来做到这一点?
一种方法是通过反转In
操作员
select *
from yourtable
where 'Myval' in (col1,col2,col3,...)
如果您不想手动输入列,则使用该列dynamic sql
来生成查询
declare @sql varchar(max)='select *
from yourtable
where ''Myval'' in ('
select @sql+=quotename(column_name)+',' from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME='yourtable'
select @sql =left(@sql,len(@sql)-1)+')'
--print @sql
exec sp_executesql @sql
问题内容: 我正在通过.NET应用程序中的ODBC驱动程序连接到Hive。是否存在查询以确定表是否已存在? 例如,在MSSQL中,您可以查询表,而在Netezza中,您可以查询表。 任何援助将不胜感激。 问题答案: 您可以通过两种方法进行检查: 1.)如@dimamah所建议,只需在此处添加一点,对于这种方法,您需要 2.)第二种方法是使用HiveMetastoreClient API,您可以在其
问题内容: 我试图用bash编写脚本来检查用户输入的有效性。 我想将输入(例如变量)与有效值列表进行匹配。 我目前想出的是: 我的问题是,是否有更简单的方法可以做到这一点, 就像大多数编程语言一样。 另外: 说的清单是: 我的代码将仅针对那些值回显该消息,因为将其视为数组而不是字符串,所有字符串操作都将验证,而我希望它失败。 问题答案: 或创建一个函数: 使用它:
如果表已经存在,如何检查TarantoolSQL?
问题内容: 我正在尝试编写一个查询,该查询将检查MySQL中的特定表是否具有特定列,如果没有,则创建它。否则什么都不做。在任何企业级数据库中,这实际上都是一个简单的过程,但是MySQL似乎是一个例外。 我以为 可以工作,但是失败很严重。有办法吗? 问题答案: 这对我来说很好。 使用PHP就像…
问题内容: 我正在从可能更改的视图中查询数据。在执行操作之前,我需要知道该列是否存在。我发现可以查询这样的元数据,以便在从该列请求数据之前查看是否存在该列。 有没有一种更简单的检查列是否存在的方法? 编辑:它必须是数据库不可知的。这就是为什么我引用而不是数据库的原因。 问题答案: 通用JDBC API并不是简单的方法(至少我不知道,或者找不到……我在自己的工具集中有完全相同的代码。) (您的代码不
问题内容: 有没有一种方法可以检查Pandas DataFrame中是否存在列? 假设我有以下DataFrame: 我想计算 但是首先我要检查是否存在,如果不存在,我要计算。 问题答案: 这将起作用: 但是为了清楚起见,我可能将其写为: