Thread: Hidden Select

Hidden Select

From
Luis Sousa
Date:
I have a query that joins several table with some restrictions.
I want to take out those restrictions from the query and create a view
that does not show the fields that are used to restrict the data, but in
some way, i can restrict that data when i call the view.

Is it possible to hide some fields in the view so it could be possible
to restrict that data ????

Best Regards

Luis Sousa



Re: Hidden Select

From
Peter Eisentraut
Date:
Luis Sousa writes:

> I have a query that joins several table with some restrictions.
> I want to take out those restrictions from the query and create a view
> that does not show the fields that are used to restrict the data, but in
> some way, i can restrict that data when i call the view.

Do you mean like this?

create table A (id int, content text);
create table B (id int, stuff numeric);
create view C as select A.content, B.stuff from A, B where A.id = B.id;

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter



Re: Hidden Select

From
Luis Sousa
Date:
Suposing your example:

Now i want to do a query to the view like this:

SELECT * FROM C WHERE id=1;

I whant to chose the id, but that id isn't in my select list !!!?????

I hope you understand what i mean



Best regards

Luis Sousa


Peter Eisentraut wrote:

> Luis Sousa writes:
>
> > I have a query that joins several table with some restrictions.
> > I want to take out those restrictions from the query and create a view
> > that does not show the fields that are used to restrict the data, but in
> > some way, i can restrict that data when i call the view.
>
> Do you mean like this?
>
> create table A (id int, content text);
> create table B (id int, stuff numeric);
> create view C as select A.content, B.stuff from A, B where A.id = B.id;
>
> --
> Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter



Re: Hidden Select

From
Peter Eisentraut
Date:
Luis Sousa writes:

> Suposing your example:
>
> Now i want to do a query to the view like this:
>
> SELECT * FROM C WHERE id=1;
>
> I whant to chose the id, but that id isn't in my select list !!!?????

Then you will have to define your view differently.

> > Do you mean like this?
> >
> > create table A (id int, content text);
> > create table B (id int, stuff numeric);
> > create view C as select A.content, B.stuff from A, B where A.id = B.id;

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter



Re: Hidden Select

From
Luis Sousa
Date:
How's that ??

How can i define the rule to do that ?


Peter Eisentraut wrote:

> Luis Sousa writes:
>
> > Suposing your example:
> >
> > Now i want to do a query to the view like this:
> >
> > SELECT * FROM C WHERE id=1;
> >
> > I whant to chose the id, but that id isn't in my select list !!!?????
>
> Then you will have to define your view differently.
>
> > > Do you mean like this?
> > >
> > > create table A (id int, content text);
> > > create table B (id int, stuff numeric);
> > > create view C as select A.content, B.stuff from A, B where A.id = B.id;
>
> --
> Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)



Re: Hidden Select

From
Peter Eisentraut
Date:
Luis Sousa writes:

> How's that ??
>
> How can i define the rule to do that ?

You just have to make the id column part of the view.

>
>
> Peter Eisentraut wrote:
>
> > Luis Sousa writes:
> >
> > > Suposing your example:
> > >
> > > Now i want to do a query to the view like this:
> > >
> > > SELECT * FROM C WHERE id=1;
> > >
> > > I whant to chose the id, but that id isn't in my select list !!!?????
> >
> > Then you will have to define your view differently.
> >
> > > > Do you mean like this?
> > > >
> > > > create table A (id int, content text);
> > > > create table B (id int, stuff numeric);
> > > > create view C as select A.content, B.stuff from A, B where A.id = B.id;
> >
> > --
> > Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter