【问题标题】:How to check, find and see the values of a specific column inside of a big database with many tables, if the column actually exists [duplicate]如果该列实际存在,如何检查,查找和查看具有许多表的大型数据库中特定列的值
【发布时间】:2021-09-25 06:43:00
【问题描述】:

我在 SQL Server 的某个数据库中有很多表,我认为其中一些表有一些特定的列,我想检查它是否存在,并查看里面的值,如果它确实存在。

我猜该列被命名为:''Status''

请考虑一下,我不知道这个假定列中可能存在的值是什么,甚至是它的种类。

数据库名称:PrincipalGroup

表的名字我就不说了,因为我觉得把这个查询里的表都写出来是不可行的,因为有很多。

那么,重点是:我怎样才能用最简单最简单的方式来查询呢?

【问题讨论】:

  • 您应该能够根据您的特定需求调整此回复,或者通过简单的搜索找到您自己的替代方案。我不得不想知道为什么在您的数据库中的许多表中存在相同名称和数据类型的列 - 删除/减少重复信息的数量是正确规范化的目标。如果可以的话,也许最好解决这个问题。

标签: sql sql-server


【解决方案1】:

您可以尝试以下查询,该查询将生成一个 SQL 语句列表,然后您可以执行以“查看内部值”每个包含名为 Status 的列的表,并且显然可以根据您的特定要求进行调整。

select Concat('select distinct ', QUOTENAME(table_name, ''''), ' , [Status] from ', QuoteName(table_name))
from INFORMATION_SCHEMA.COLUMNS 
where COLUMN_NAME = 'Status'

【讨论】:

  • 但是通过这个查询我需要指定数据库的表,对吧?
  • 没有,你跑了吗?它只会列出包含命名列的表,例如状态。
猜你喜欢
  • 2021-12-13
  • 1970-01-01
  • 2015-04-03
  • 2013-09-01
  • 2016-02-23
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多