1

これについてはさまざまな例を見てきましたが、いずれかの値が指定されていないリレートを使用table_Aして、行に関連していないすべての行を返す方法の決定的な例を見つけることができませんまたは。これに最も近いものは次のとおりです。table_Btable_A_Btable_A.idtable_B.id

  1. Aの1 つ以上の行に関連してBいないが、B のどの値が問題であるかを知らずにリストを取得します。

  2. A指定されたに関連しないのリストを取得しますB

  3. A関係のないコンマ区切りのフィールドのリストを取得しますB(見たことはわかりませんが、1つの例がそのように展開できるように見えました)。

  4. 互いに関連していないが、どちらが関連していないかを示していないAとのリスト。B

A_B次のようにして、すべての潜在的なタプルのリストを取得することもできます。

SELECT A.id, B.id  FROM A
INNER JOIN B ON A.id <> B.id

EXCEPTそして、リレート テーブルに対して回避策の 1 つを仮想的に使用することもできますが(私はそう思います)、すべての試みは失敗しました。

したがって、テーブルの値が与えられた場合:

A
id | name
 1 | X
 2 | y
 3 | z


B
id | name
 7 | e
 8 | f
 9 | g

A_B
id | a_id | b_id
 1 |    1 |    7
 2 |    1 |    8
 3 |    1 |    9
 1 |    2 |    7
 2 |    2 |    8
 1 |    3 |    7

返されるクエリはありますか: A | B2 | 9 3 | 8 3 | 9

またはさらに良い:

 A | B 
 y | g
 z | f
 z | g

それとも、これはトラブルを求めていますか?

4

1 に答える 1