是否可以将多个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?当然!我给出了一个多行批处理查询,但这更简单、更快。