2017-06-10 7 views
0

最近Microsoft SQL Serverを使用し始めていますが、tblPoleという名前のテーブルからデータを取得する以下のクエリがあります。このテーブルは、データベース内のどのように多くの他のテーブルに参照されていることを知っていることは、以下の私はこのクエリをテーブルを知るクエリは、ほかのテーブルの数を参照しています

SELECT obj.name AS FK_NAME, 
    sch.name AS [schema_name], 
    tab1.name AS [table], 
    col1.name AS [column], 
    tab2.name AS [referenced_table], 
    col2.name AS [referenced_column] 
FROM sys.foreign_key_columns fkc 
INNER JOIN sys.objects obj 
    ON obj.object_id = fkc.constraint_object_id 
INNER JOIN sys.tables tab1 
    ON tab1.object_id = fkc.parent_object_id 
INNER JOIN sys.schemas sch 
    ON tab1.schema_id = sch.schema_id 
INNER JOIN sys.columns col1 
    ON col1.column_id = parent_column_id AND col1.object_id = tab1.object_id 
INNER JOIN sys.tables tab2 
    ON tab2.object_id = fkc.referenced_object_id 
INNER JOIN sys.columns col2 
    ON col2.column_id = referenced_column_id AND col2.object_id = tab2.object_id 
+0

ただ1つのテーブル。 "[PDB_MASTER_ERT]。[ter]"はスキーマです、私の友人。 – Tomato32

+0

@ Tomato32 well PDB_MASTER_ERTは、tblPoleという名前のテーブルがあるデータベースですが、他のテーブルもありますが、今はこのテーブルではintrestedです。 –

+0

関連するtblPoleテーブルのすべてのオブジェクトを検索したいのですか? – Tomato32

答えて

0

使用を使用していたクエリdatabsae以下のすべてのテーブルの関係については、私のクエリ

select * from [PDB_MASTER_ERT].[ter].[tblPole] 

されている。

SELECT obj.name AS FK_NAME, 
     sch.name AS [schema_name], 
     tab1.name AS [table], 
     col1.name AS [column], 
     tab2.name AS [referenced_table], 
     col2.name AS [referenced_column] 
    FROM sys.foreign_key_columns fkc 
    INNER JOIN sys.objects obj 
     ON obj.object_id = fkc.constraint_object_id 
    INNER JOIN sys.tables tab1 
     ON tab1.object_id = fkc.parent_object_id 
    INNER JOIN sys.schemas sch 
     ON tab1.schema_id = sch.schema_id 
    INNER JOIN sys.columns col1 
     ON col1.column_id = parent_column_id AND col1.object_id = tab1.object_id 
    INNER JOIN sys.tables tab2 
     ON tab2.object_id = fkc.referenced_object_id 
    INNER JOIN sys.columns col2 
     ON col2.column_id = referenced_column_id AND col2.object_id = tab2.object_id 
    where tab1.name = 'tblPole' 
関連する問題