0

我有一个带有reason_id外键的表。我需要将其映射回其主表。我已经在我们的数据库中搜索匹配/相似的列名,但我找不到该表。

我有一个与reason_id. 我想搜索包含我拥有的列表的表。任何帮助,将不胜感激。

这是我为搜索列而运行的查询:

select 
  t.name as Table_Name,
  SCHEMA_NAME(schema_id) as schema_name,
  c.name as Column_Name
from
  sys.tables as t
  inner join 
  sys.columns c
  on
  t.OBJECT_ID = c.OBJECT_ID
where 
  c.name like '%reason%'
4

1 回答 1

0

没有简单的方法可以在其他表中找到相关数据。

我会尝试使用ApexSQL SearchSQL Search等工具。两者都是免费的,您不会出错。

如果您只想使用 SQL 执行此操作,请识别所有表中具有相同数据类型的所有列。为此,请使用sys.columns, sys.types and sys.tables视图。找到所有列后,只需尝试开始为每个表编写查询,直到找到正确的列。

我会选择这样的东西

select COUNT(*)
from tableX
where tableX.matchedColumn in
(
    -- take 100 or more random rows from the original table
    -- if result gives you a number that is near to the number of values listed here then you are most probably on the right track
)
于 2013-03-15T11:37:13.940 回答