0

ビューは次のようになります。

Create or Replace view MyView( Col1, Col2, Col3) as 
select count(OuterQ.Name), OuterQ.Year, Outer.Date 
      (select InnerQ.Name, InnerQ.Year, X.Date, 
         From X
            , ( select p.Id, p.Name, t.year from p,t where p.id = t.id) InnerQ 
        where X.field = 'YYY' 
          and X.value = t.value) OuterQ 
group by OuterQ.Date, OuterQ.Year 

たとえば、ビューから特定の列の値が 1 つ必要な場合、 「904 無効な識別子」select Col1 from MyView;というエラーが表示されます。

しかし、実行するselect * from MyViewと、クエリは正常に実行されます。

4

1 に答える 1

0

構文エラーがあります:

-- first off , remove ( Col1, Col2, Col3) 
Create or Replace view MyView( Col1, Col2, Col3) as

select count(OuterQ.Name), OuterQ.Year, Outer.Date

-- you should have FROM clause here or   
(select InnerQ.Name, InnerQ.Year, X.Date,

From X, (select p.Id, p.Name, t.year from p,t where p.id = t.id) InnerQ

where X.field = 'YYY' and X.value = t.value) OuterQ

 -- FROM Clause here of outer query    
group by OuterQ.Date, OuterQ.Year 
于 2012-12-18T21:34:00.240 に答える