0

JDBCについての質問です。次のタスクがあります。テーブル A の行を反復処理していますが、現在の行について、A の現在の行のコンテキストでテーブル B に対してクエリを実行したいと考えています。たとえば、次のようなクエリがある場合

SELECT B.description FROM A LEFT JOIN B ON A.ID = B.refId

次に、B.refId="A からの現在の行".ID であるすべての結果を取得したいと考えています。B から結果を選択するためのクエリを変更できないことに注意してください。

たとえば、テーブル A を次のようにします。

ID name

1  nameA
2  nameB

およびテーブル B:

ID description refID

1  desc1       1
2  desc2       1
3  decs3       2
4  desc4       2

たとえば、ID 2 のテーブル A の行でクエリを実行すると、「desc3」と「desc4」のみを取得したいとします。

このタスクはカーソルで解決できることをお勧めしますが、私はそれに慣れています。誰でも私にヒントを与えることができますか?

4

3 に答える 3

1

質問に基づいて

SELECT B.description FROM
   A
   INNER JOIN
   B ON A.ID = B.refId
WHERE
   A.ID = 2

SELECT B.description FROM
   B
WHERE
   B.refid = 2

そうでなければ、私たちは質問を理解していないと思います...

于 2009-12-05T16:41:08.280 に答える
0

あなたの質問は何ですか?あなたが与えたクエリは、「B.refId = A.IDからの現在の行であるすべての結果」を意味します。

于 2009-12-05T15:14:49.293 に答える