AUTO-Parametrized多个SELECT

时间:2009-11-16 14:29:41

标签: sql

我需要做一个选择以找出X
然后我需要用X来找出Y
然后我需要用Y来找出Z

有没有办法用一个“自动参数化选择”来制作它?

像这样的fanta-pseudo-code:

select Z from ( select Y from (select X from x_table) )
tnx很多!

3 个答案:

答案 0 :(得分:1)

是的,绝对的。例如:

select cnt, count(*) from
( select department_id, count(*) as cnt
  from employees
  group by department_id
)
group by cnt;

这给出了“计数数”。

或许你的意思是更像这样的东西,这也是有效的:

select emp_name
from employees
where department_id in
( select department_id
  from departments
  where location_id in
  ( select location_id from locations
    where country = 'US'
  )
);

答案 1 :(得分:0)

可以使用子选择,就像你在那里描述的那样。您使用的是什么数据库服务器?你能更具体地了解你的疑问吗?

答案 2 :(得分:0)

这是一个深度示例,试图在同一个县找到所有“公寓社区”,而不是另一个属性。

从RMPROP INNER JOIN选择ZipCode.countyname AS“县名”ZipCode ON RMPROP.ZIP = ZIPCODE.ZIPCODE WHERE INACTIVE ='N'和 ZIP IN(从邮政编码中选择邮政编码,其中(COUNTYNAME + STATEABBR)IN(从zipcode中选择countyname + stateabbr,其中zipcode =(SELECT Zip FROM RMPROP WHERE RMPROPID ='113')))

将其视为为您需要查找的第一组数据构建select语句,在该语句周围加上括号,然后查询它是否为FROM子句中的表。