过滤多个表mssql



在一个名为err_*的模式中有几个不同的表。这些表包含不同数量的列。一个有10列,另一个有60列,等等。在每个表中,每个列被命名为X1 A1. A2. A3..等。

我想过滤所有的表,所以只有记录有A1..A2..A3..在其中留下一个值不是'OK'的字段。在mssql

下怎么做呢?谢谢!

你可以选择表中的所有列,并通过你想要排除的字符串过滤表:

SELECT ERR_1.A1, ERR_1.A2, <columns in ERR_1>, ERR_1.AN, ERR_2.A1, <other columns>
FROM ERR_1, ERR_2, <table names>
WHERE
NOT ERR_1.A1 = 'OK' AND
NOT ERR_1.A2 = 'OK' AND
<and so on>

在TRANSACT-SQL中可能有更优雅的方法,但这是最简单的解决方案

我想我误解了这个问题

相关内容

  • 没有找到相关文章

最新更新