日期:2014-05-16  浏览次数:20869 次

Oracle SQL 查询问题,去掉或者替换相同列中的重复值,两个表的查询。
有俩表:Question 和Option
Question:
QuestionID QuestionName 

Option:
OptionID OptionName QuestionID

现在我用Select Question.QuestionName QN, Option.OptionName ON from Question, Option where QuestionID=1 and Question.QuestionID=Option.QuestionID, 这样就列出了

QN ON
q1 25
q1 28
q1 32
q1 95
q1 85

我的问题是:我只需要显示第一个q1 ,其他四个q1都要求看不到。请问如何可以做到?在线等,多谢各位大虾了, 40小分不成敬意:)

------解决方案--------------------
不知这样是否是楼主的意思?

SQL code


  select t.QN,
         t.ON
    from
         ( 
          Select Question.QuestionName QN,
                 Option.OptionName ON,
                 rownum as rn 
            from Question a, 
                 Option  b
           where a.QuestionID = b.QuestionID
             and a.QuestionID=1
         ) t  
   where t.rn = 1

------解决方案--------------------
SQL code

  select decode(rn,1,QN,
                    null) QN
         t.ON
    from
         ( 
          Select Question.QuestionName QN,
                 Option.OptionName ON,
                 rownum as rn 
            from Question a, 
                 Option  b
           where a.QuestionID = b.QuestionID
             and a.QuestionID=1
         ) t  
   where