ORACLE SQL:查找按年份排序的给定值的所有列值

时间:2012-12-06 12:58:32

标签: sql oracle oracle11g

我希望在APPLIES_TSSA / CD / CTT表中找到用户'3392398'的GRANT_ID值,并按YEAR排序。

这是我目前的代码:

SELECT GRANT_ID
  FROM APPLIES_TSSA, APPLIES_CD, APPLIES_CTT
 WHERE ( APPLIES_TSSA.COYOTE_ID
       , APPLIES_CD.COYOTE_ID
       , APPLIES_CTT.COYOTE_ID = ('3392398')
 GROUP BY to_date('DD-MM-YYYY') <= to_date('DD-MM-YYYY')

我的架构如下(link)

schema

1 个答案:

答案 0 :(得分:2)

如果您希望按年份排序,请使用order by,而不是group by。另外,学习使用正确的连接语法。我认为查询类似于:

SELECT GRANT_ID, tss.year
FROM APPLIES_TSSA tssa join
       APPLIES_CD cd
       on tssa.COYOTE_ID = cd.COYOTE_ID join
       APPLIES_CTT ctt
       on tssa.Coyote_ID = ctt.COYOTE_ID
 where CTT.COYOTE_ID = ('3392398')
 order by tssa.year desc