【发布时间】:2011-04-03 06:44:29
【问题描述】:
我将尝试解释我想要快速实现的目标,因为我不知道如何解释它!
我们这里有一个表格,显示所有员工的所有工作经历,我想要当前职位的“Start_Date”(“Current_Flag”='Y')。除此之外,我想要之前帖子的“End_Date”(将按当前标志过滤,按结束日期排序,然后抓住最前面的那个)
无论如何,这是我的代码:
SELECT "Gc_Staff_Number",
"Start_Date",
(SELECT "End_Date"
FROM "Employment_History"
WHERE "Current_Flag" != 'Y'
AND ROWNUM = 1
AND "Employee_Number" = "Employment_History"."Employee_Number"
ORDER BY "End_Date" ASC)
FROM "Employment_History"
WHERE "Current_Flag" = 'Y'
任何关于如何使其工作的建议都会很棒,希望以上内容有点意义 - 老实说,目前的查询甚至无法正常工作,这真的很糟糕,嗯。
(编辑:哦!我写这个是为了查询一个现有的系统......由于某种原因,它在表和字段名称周围都有所有愚蠢的双引号,叹息!)
【问题讨论】:
-
您是否尝试为“Employment_History”提供别名并在内部查询中使用该别名?
-
您是否收到特定的错误消息?
-
双引号的意思是当我们谈到名字时,大小写很重要。即,“Gc_Staff_Number”与“GC_Staff_Number”不同。在我的例子中我没有打扰他们 - 没有足够的耐心!