输出一个查询作为SQL Developer中另一个查询的输入

时间:2013-08-22 07:00:54

标签: sql oracle-sqldeveloper

假设我有4张桌子。(姓名,地点,性别,身份)

我最初会有一个Roll号码。 现在我转到“名称”表以获取相应的卷号的名称。 现在我来到“地方”表,在NAME的帮助下,我会尽力找到地方。 然后我去“性”表,在PLACE的帮助下,我将尝试找出性别。 然后我在SEX的帮助下进入“状态”表,我会尝试找到状态。

任何人都可以帮助我,所以一旦我给出了卷号,就应该给我这个卷号的状态。

预先谢谢, Harisha。

2 个答案:

答案 0 :(得分:0)

(select *
from name join place on name.name=place.name) as t1

(select *

from t1 join sex on t1.place=sex.place) as t2

(select *

from t2 join status on t2.sex=status.sex) as t3

现在在t3上编写代码以获取任何给定卷号的状态

select status 

from t3

where rollnumber="A1234"

答案 1 :(得分:0)

您可以在单个查询中查询多个表。它将类似于:

SELECT
    s.SomeColumn
FROM
    Name as n
       INNER JOIN
    Place as p
       ON
           n.NameColumnA = p.PlaceColumnA
       INNER JOIN
    Sex sex
       ON
           p.PlaceColumnB = sex.SexColumnC
       INNER JOIN
    Status s
       ON
           sex.SexColumnD = s.StatusColumnF
WHERE
    n.RollNumber = 5;

不幸的是,您没有提供足够的信息让我知道每个联接使用哪些列。