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)
The Values in Company table are
companyid name
1 'ABC'
2 'XYZ'
3 'CDE'
The Values in Services table are
serviceid service
1 'Ebiz'
2 'MainFrames'
3 'CAD'
4 'Maintenance'
The Values in Company Services table are
companyid serviceid
1 1
1 2
1 3
2 1
2 2
3 4
I have a List Box where the user selects his Need for Services.
Suppose the User selects 1 , 2 and 3 , then i need to show him the company
which provides him all 1 , 2 and 3 services . By our data , its company 1
I cant search by using IN coz it would select a record even if the company
is providing any one of the services.
I did this by using self join for ex:
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
-Arul
sql , query
---------------------------------------------------------------------
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