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]

Reply via email to