Hi.

IMHO, the self-join is the correct solution for the given table layout
(which looks reasonable to me).

Greetings,

        Benjamin.


On Wed 2002-07-17 at 09:26:48 +0530, [EMAIL PROTECTED] wrote:
[...]
> > Select companyid, count(*) from CompanyServices where
> > serviceid = 1 or serviceid = 2 or serviceid = 3
> > group by companyid
> > having count(*) = 3
> >
> > Bye and Good Luck.
> > --- Arul <[EMAIL PROTECTED]> wrote:
> > > Hi All
> > >
> > > The Table design goes like this
> > >
> > > Company Table
> > > ----------------
> > > companyid     integer
> > > name             varchar(100)
> > >
> > >
> > > Services Table
> > > ----------------
> > > ServiceID    integer
> > > Service        varchar(50)
> > >
> > >
> > > Company Services
> > > -------------------
> > > companyid    integer   - References
> > > Company(companyid)
> > > serviceid       integer   - References
> > > Services(ServiceID)
[...]
> > > select
> > >         distinct(c.companyid) , c.name
> > > from
> > >         company c , companyservices cs1,
> > > companyservices cs2,
> > > companyservices cs3
> > > where
> > >         cs1.serviceid = 1
> > >         AND cs2.serviceid = 2
> > >         AND cs3.serviceid = 3
> > >         AND c.companyid = cs1.companyid
> > >
> > > Is there any other way , i could achive the result
> > > without using a self join
[...]

-- 
[EMAIL PROTECTED]

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to