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] > >