http://dev.mysql.com/doc/mysql/en/GROUP-BY-Functions.html
Is where you will find the GROUP_CONCAT function in the manual.
Yours,
Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine
"Mojtaba Faridzad" <[EMAIL PROTECTED]> wrote on 07/26/2004
11:34:30 AM:
> Thank Martijn, Brent, and Shawn so much! I did not know about
> GROUP_CONCAT() funtion. I checked MySQL document page but just under
> "string function" in User Comments section there was an example of
> using it. Shawn, where can I find the syntax of this command? it
> looks like we can pass some parameters to it too (like SEPARATOR)
>
> thanks,
> Mojtaba
> ----- Original Message -----
> From: [EMAIL PROTECTED]
> To: Mojtaba Faridzad
> Cc: [EMAIL PROTECTED]
> Sent: Monday, July 26, 2004 11:15 AM
> Subject: Re: how to deal with a string of categories
>
>
> May I suggest a design change as a solution? I would suggest that
> you should create a user/category table to replace your "catstr" field:
>
> CREATE TABLE user_category (
> user_Id int not null,
> category_Code char(1) not null
> UNIQUE (user_Id, category_Code)
> )
>
> There will be one record in the user_category table for each
> category that a user belongs to.
>
> To see a list of all of your users and to which cateogories each user
belongs:
>
> SELECT u.user_Name, category_Name
> FROM user u
> INNER JOIN user_category uc
> ON uc.user_ID = u.user_id
> INNER JOIN category cat
> ON cat.category_Code = uc.category_Code
>
>
> or if you wanted a comma-separated list of categories for each person:
>
> SELECT u.user_Name, GROUP_CONCAT(category_Name) as categories
> FROM user u
> INNER JOIN user_category uc
> ON uc.user_ID = u.user_id
> INNER JOIN category cat
> ON cat.category_Code = uc.category_Code
> GROUP BY u.user_Name
>
> NOTE: you will have to change the query examples I gave you to match
> your actual table and field names!!!!
>
> This does not limit you to having only 10 (or 20 or 30) categories
> for each person. It also means that creating new categories will not
> require a change in your database design (changing the size of a
> column) but only adding or deleting records.
>
> Yours,
>
> Shawn Green
> Database Administrator
> Unimin Corporation - Spruce Pine
>
>
> "Mojtaba Faridzad" <[EMAIL PROTECTED]> wrote on
> 07/26/2004 10:55:22 AM:
>
> > Hi,
> >
> > I'd like to know how you guys write SQL command for this problem.
there are
> > some categories which I give them "A", "B", ... and I have a string
field
> > (catstr) with 10 characters in "mytable" to keep selected categories
in a
> > record. when user selects "C", "G", "K", I keep "CGK" in "catstr"
field.
> > categories has been defined in "cattable". now I want to write a query
to
> > retreive these catergories. query will have 10 columns ("catstr" is 10
> > characters) with description of categories. it means user doesn't see
"C",
> > or "G".
> >
> > I tried to open 10 times "cattable" with different alias and make the
query
> > but it looks like MySQL doesn't like it and doesn't let me open the
same
> > table more than once (even with different alias). I can create 10
temporary
> > tables and solve this problem and it doesn't look good. or I can
create my
> > query with 10 CASE commands with I create them base on "cattable". how
you
> > guys solve this problem? maybe there is a better solution which I
don't know
> > and very neat can solve this problem.
> >
> > thanks,
> > Mojtaba
> >
> >
> > --
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
> >