【问题标题】:find tables in SQL that are indirectly connected在 SQL 中查找间接连接的表
【发布时间】:2020-04-27 07:11:23
【问题描述】:

我们举个例子: 带有主键的表:animal_id (1....1000),动物类型(猫,狗...)。 然后还有 12309123 个表,以及另一个主键表:breed_id、breed_name、whatever_else。

我应该在某个地方有一个连接breed_id 和animal_id 的表。我怎样才能创建一个查询来帮助我找到这样的东西?

【问题讨论】:

  • 答案取决于您实际使用的数据库——它们的数据字典表都有不同的名称。
  • 12309123 tables more 嗯?
  • 您需要一个适用于所有三个数据库的解决方案??

标签: mysql sql oracle postgresql foreign-keys


【解决方案1】:

我不久前发现了这个有用的代码来解决 SQL Server 中的这个问题

SELECT c.name AS ColName, 
t.name AS TableName
FROM sys.columns c
INNER JOIN sys.tables t 
ON c.object_id = t.object_id

这应该为您提供所有列,然后您可以使用 WHERE 子句进行适当的过滤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多