LEFT JOIN表示主表中的当前行

时间:2009-12-05 15:06:29

标签: 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  desc1       1
2  desc2       1
3  decs3       2
4  desc4       2

因此,如果我在表A的行上使用ID 2并执行我的查询,那么我只想获得“desc3”和“desc4”。

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

3 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:0)

你的问题是什么?您提供的查询表示“所有结果,其中B.refId =来自A.ID的当前行”。

答案 2 :(得分:0)

您可以制作说明

A.*

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

相关问题