You should never create multi-purpose fields that you will need to use
to reference other data, which is what you did here. The database can't
use an index because the "codes" are not in set positions.
You need to create a table for linking the categories with "mytable",
since you are trying to create a one to many relation. Your link table
with have at least two fields, mytable_RecordID and catID. You would
then do a three table join to get all the data.
If you are only displaying one record at a time, you may just want to
use your front end (ie. PHP) to "link" the category names.
On Jul 26, 2004, at 10:55 AM, Mojtaba Faridzad wrote:
> 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
> (catstr) with 10 characters in "mytable" to keep selected categories
> in a
> record. when user selects "C", "G", "K", I keep "CGK" in "catstr"
> categories has been defined in "cattable". now I want to write a query
> retreive these catergories. query will have 10 columns ("catstr" is 10
> characters) with description of categories. it means user doesn't see
> or "G".
> I tried to open 10 times "cattable" with different alias and make the
> but it looks like MySQL doesn't like it and doesn't let me open the
> table more than once (even with different alias). I can create 10
> 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
> guys solve this problem? maybe there is a better solution which I
> don't know
> and very neat can solve this problem.
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology Environments