0

これはおそらく少し複雑ですが、単一のテーブル行に関連付けられたすべての外部キー制約を表示できるスクリプトがとにかく存在するか、すでに存在します。

これが意味することは、次の DB 構造があるとします。

TABLE 1
column a
column b

TABLE 2
column c
column d (foreign key constraint to 1.a)

TABLE 3
column e 
column f (foreign key constraint to 2.c)

TABLE 4
column g (foreign key constraint to 3.e)
column h

次に、テーブル 1 に 2 つの行があります。行の 1 つは、テーブル 2 を介して制約され、次にテーブル 3 に制約されますが、テーブル 4 には制約されません (ID はテーブル 1 から 3 全体で関連付けられています)。

表 1 の行の 1 つを単純にクエリして、その行には表 2 につながる関係があり、それらの行には表 3 に関係があることを教えてもらいたいと思います。2 行目にこの「クエリ」を使用すると、表 1 では、その行を結び付けている外部キーがないため、単純に何も返されません。

このようなものは、特定の開始行を現在使用しているテーブル/行を追跡する場合に非常に役立ちます。

ありがとう!

4

1 に答える 1

1

あなたが探していることは、次の方法で実現できると思います。

SELECT a, t2=COUNT(d), t3 = COUNT(f), t4 = COUNT(g)
FROM [1] LEFT JOIN [2] ON 1.a=2.d
    LEFT JOIN [3] ON 2.c = 3.f 
    LEFT JOIN [4] ON 4.g = 3.e
于 2013-01-08T18:11:01.693 に答える