Thread: Re: parametered views
lhaj.merigh@gmail.com ha escrito: > Hello, > > my problem is : in depend of the value of a field in a table A, I > want to select other fields coming from a table B, or a table C. > > I want to know if it's possible to create a parametred view in > postgresql to resolve this problem > > > Thx, > Lhaj You really should be more specific...
On Jun 8, 7:59 pm, "lhaj.mer...@gmail.com" <lhaj.mer...@gmail.com> wrote: > i have 4 tables : > > date_table (date_id,.....) > A_table(A_table_id, something1,something2.........) > A1_table(A1_table_id references A_Table(A_Table_id),A11,A12........) > A2_table(A2_table_id references A_Table(A_table_id),A21,A22,.......) > > so i want to create a view with date_id,A_table_id,something1, > if something2=x then my view containts > (A1_table.A11 and A1_table.A12) > else it's containts (A2_table.A21 and A2_table.A22)) > > so my view depends of something2 value. > > I hope i'm specific > > Thx > Lhaj create view foobar as select date_id,A_table_id,something1 ,case when something2=x then A1_table.A11 else A2_table.A21 end as foo ,case when something2=x then A1_table.A12 else A2_table.A22 end as bar from (... etc., etc. ...)
Rodrigo De León wrote: > On Jun 8, 7:59 pm, "lhaj.mer...@gmail.com" <lhaj.mer...@gmail.com> > wrote: >> i have 4 tables : >> >> date_table (date_id,.....) >> A_table(A_table_id, something1,something2.........) >> A1_table(A1_table_id references A_Table(A_Table_id),A11,A12........) >> A2_table(A2_table_id references A_Table(A_table_id),A21,A22,.......) >> >> so i want to create a view with date_id,A_table_id,something1, >> if something2=x then my view containts >> (A1_table.A11 and A1_table.A12) >> else it's containts (A2_table.A21 and A2_table.A22)) >> >> so my view depends of something2 value. >> >> I hope i'm specific >> >> Thx >> Lhaj > > create view foobar as > select date_id,A_table_id,something1 > ,case when something2=x then A1_table.A11 else A2_table.A21 end as foo > ,case when something2=x then A1_table.A12 else A2_table.A22 end as bar > from (... etc., etc. ...) Not sure what you're trying to say here... You didn't formulate a question. Maybe you mean this?: CREATE VIEW foobar AS SELECT date_id, A_table_id, A1_table.A11, A1_table.A12 WHERE something2 = x UNION SELECT date_id, A_table_id, A2_table.A21, A2_table.A22 WHERE something2 <> x In case the records in the result sets matching something2 = x and the ones not matching are distinct or if you don't care about duplicates, use UNION ALL instead of UNION. -- Alban Hertroys alban@magproductions.nl magproductions b.v. T: ++31(0)534346874 F: ++31(0)534346876 M: I: www.magproductions.nl A: Postbus 416 7500 AK Enschede // Integrate Your World //
On Jun 9, 8:12 am, Rodrigo De Le�n <rdele...@gmail.com> wrote: > On Jun 8, 7:59 pm, "lhaj.mer...@gmail.com" <lhaj.mer...@gmail.com> > wrote: > > > > > i have 4 tables : > > > date_table (date_id,.....) > > A_table(A_table_id, something1,something2.........) > > A1_table(A1_table_id references A_Table(A_Table_id),A11,A12........) > > A2_table(A2_table_id references A_Table(A_table_id),A21,A22,.......) > > > so i want to create a view with date_id,A_table_id,something1, > > if something2=x then my view containts > > (A1_table.A11 and A1_table.A12) > > else it's containts (A2_table.A21 and A2_table.A22)) > > > so my view depends of something2 value. > > > I hope i'm specific > > > Thx > > Lhaj > > create view foobar as > select date_id,A_table_id,something1 > ,case when something2=x then A1_table.A11 else A2_table.A21 end as foo > ,case when something2=x then A1_table.A12 else A2_table.A22 end as bar > from (... etc., etc. ...) OK, thank you (the idea is here i will try to do that)
i have 4 tables : date_table (date_id,.....) A_table(A_table_id, something1,something2.........) A1_table(A1_table_id references A_Table(A_Table_id),A11,A12........) A2_table(A2_table_id references A_Table(A_table_id),A21,A22,.......) so i want to create a view with date_id,A_table_id,something1, if something2=x then my view containts (A1_table.A11 and A1_table.A12) else it's containts (A2_table.A21 and A2_table.A22)) so my view depends of something2 value. I hope i'm specific Thx Lhaj