Try this out:
select user.name, skill.skill_name, count(user_skill1.skill_id)
from user , skill, user_skill , user_skill as user_skill1
where user.id=user_skill.user_id and user_skill.skill_id=skill.id and
skill.id = user_skill1.skill_id
order by user.id.
I think this would work.
--
Parag
B. Tech
IIIT, Hybd
select
On 7/31/05, Dean Karres <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have three simple tables:
>
> user
> {
> id int PRIMARY
> name varchar UNIQUE
> }
>
> skill
> {
> id int PRIMARY
> skill_name varchar UNIQUE
> }
>
> user_skill
> {
> user_id int
> skill_id int
> UNIQUE KEY id (user_id, skill_id)
> }
>
> Each user can have zero or more associated skills. So you might have
> these associations:
>
> User_1: Skill_1, Skill_3
> User_2: <no listed skills>
> User_3: Skill_2, Skill_1
>
> Assuming that is all the users and skills, I would like to produce a
> report that lists each user and then the list of skills each has (if
> any). Along with each skill I want to print the count of how many times
> this skill has been mapped to a user. Using the info above then
> something like:
>
> User_1
> Skill_1 (2)
> Skill_3 (1)
> User_2
> User_3
> Skill_1 (2)
> Skill_2 (1)
>
> The skill "usage counts" are in parens. I get that there will prolly be
> a join in order to pick up the fact that User_2 has no listed skills.
> What I'm not sure about is how to get the over all skill counts. Do I
> need to do the query that returns the user and skill list then go
> through the per user skills and do additional queries to get the skill
> counts?
>
> help?
>
> Dean...K...
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
>
>
--
When the going gets tough only the tough gets going
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]