是否可以将多个SQL语句组合在一起?
我正在测试表中的每一列,看看它是否有空值。 目前,我正在使用:是否可以将多个SQL语句组合在一起?,sql,sql-server,validation,amazon-redshift,qa,Sql,Sql Server,Validation,Amazon Redshift,Qa,我正在测试表中的每一列,看看它是否有空值。 目前,我正在使用: select count (column) when column is not null 我为每一列列出了20个。我可以将它们组合起来运行一次,然后告诉我每列的记录计数吗。任何具有0的列都将是空列您可以对具有0的每列进行计数。虽然filter是SQL标准,但SQL Server不支持它。你可以用一个案例来模拟它 select count(case when a is null then 1 end) a, count(c
select count (column) when column is not null
我为每一列列出了20个。我可以将它们组合起来运行一次,然后告诉我每列的记录计数吗。任何具有0的列都将是空列您可以对具有0的每列进行计数。虽然
filter
是SQL标准,但SQL Server不支持它。你可以用一个案例来模拟它
select
count(case when a is null then 1 end) a,
count(case when b is null then 1 end) b,
count(case when c is null then 1 end) c
from foo;
SQL Server确实允许批量查询。例如,这将在Management Studio中起作用:
select count(field1) from sample_table;
select count(field2) from sample_table;
select count(field3) from sample_table;
您的结果可能类似于
(No column name)
-----
1093
(No column name)
-----
470
(No column name)
-----
1099
如果您愿意,您也可以在客户端应用程序中执行批处理查询,但不清楚这是否是您问题的目的。where子句是多余的。您只需将所有内容添加到单个查询:
select count(column1),
count(column2),
. . .
count(column20)
from t
很可能是的,但请发布您迄今为止拥有的代码示例,以及您希望它们最终看起来是什么样子(显示您迄今为止尝试过的内容)。您真的想知道这是否可能吗?或者你想要解决你的问题?是的,这是可能的。但是,如果您需要有关解决方案的帮助,请发布示例数据、预期结果(全部为格式化文本或DDL/DML语句)以及您迄今为止的尝试。这似乎与您之前的问题重复?如果你没有得到答案,那么改进你现有的问题——不要再问其他问题。我也不相信SQL Server和Amazon Redshift是一回事。因此,请更正您的标记。“任何具有0的列都将是空列”您是在搜索
null
值,还是在搜索null
和0?当然!我给出了一个多行批处理查询,但这更简单、更快。