Sql 主表中当前行的左联接

Sql 主表中当前行的左联接,sql,database,jdbc,cursor,left-join,Sql,Database,Jdbc,Cursor,Left Join,这是关于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 desc

这是关于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
所以,如果我在表A中ID为2的行上执行查询,那么我只想得到“desc3”和“desc4”


我建议这个任务可以用游标解决,但我对它很熟悉。谁能给我一个提示吗?

你的问题是什么?您给出的查询意味着“所有结果,其中B.refId=A.ID中的当前行”。

您能描述一下吗

不确定我是否理解这个问题。

基于这个问题

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

否则,我认为我们不理解这个问题……

IBMDB2。如果我们使用JDBC有关系吗?
请注意,我无法修改查询以从B中选择结果
所以您到底想要什么我只是问JDBC中是否有方法在单行上下文中运行查询而不是选择所有结果。您说您不想更改查询。然后就到此为止了。你不能在不改变查询的情况下绕过这个问题。哦,正如我说的,我不能改变那些查询。我不知道为什么我的问题你不明白。我只是问是否有一种方法可以在单行上下文中运行查询,而不是选择所有结果。
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