On Monday 07 Jul 2003 4:10 pm, Gary Stainburn wrote:
> On Monday 07 Jul 2003 3:34 pm, Richard Huxton wrote:
> > Don't do "select *" do "select field_a,field_b..." - the * doesn't just
> > refer to the locos table.
>
> Sorry if I didn't make myself plain enough, but I had
>
> create view loco_dets as
> select * from locos l -- includes lid which I want
> left outer join
> (select lnid, lnumber.......) ln on ln.lnid = l.lid
> .......
>
> The problem is that I have to have lnid in the sub-select to allow the 'on'
> clause to work, but I don't want lnid to appear in the resulting view.
Yep, so don't do "SELECT *", list the fields you want instead. The * in that
second line applies to the rest of the query, not just the "locos" table.
There is something to be said for a format such as "SELECT * EXCEPT lnid" but
I don't think it's mentioned in any sql spec.
-- Richard Huxton