私は(変更できない)データベースを持っています。1つのテーブルは次のようになります。
| ID:integer | fk:integer | next:[integer array] |
--------------------------------------------------
| 1 | 711 | {4} |
| 2 | 712 | {6} |
| 3 | 788 | |
| 4 | 799 | {7} |
--------------------------------------------------
ここで、最初の行としてデータを、次の行として、整数配列( ) 内にあるID = 1
すべてのデータを含む 1 つのクエリを定義して、クエリが返すようにします。ID
next
{4}
| ID:integer | fk:integer | next:[integer array] |
--------------------------------------------------
| 1 | 711 | {4} |
| 4 | 799 | {7} |
--------------------------------------------------
しかし、その後停止するため、指定された要素とその要素を持つ要素のみがID
生成されnext
ます。
私は試してみました。このように、しかし私はそれを動作させることができません:
SELECT * FROM tablenm WHERE ID = ANY(SELECT next FROM tablenm WHERE ID = 1) AND ID = 1
私が使用している現在の回避策は、最初に次のクエリを使用することです。
SELECT * FROM tablenm WHERE ID = 1
次に、配列内の各要素に対して、ID
プログラムでループ内の s を使用して同じクエリを実行しますが、これは汚いハックのように見え、1 つの SQL ステートメントでこれに対する解決策があることを願っています。