943,965 Members | Top Members by Rank

Ad:
  • MySQL Discussion Thread
  • Unsolved
  • Views: 2052
  • MySQL RSS
Sep 15th, 2005
0

Question about SELECT statement.

Expand Post »
I have three tables.

table1:
|-------|-----------|
| Name | Studyarea |
|------|-----------|
| Joe | 1 |
| Joe | 2 |
| Chris | 1 |
| Mike | 3 |
|-------|----------|

table2:
|-----------|-----------|
| Studyarea | CourseID |
|-----------|-----------|
| 1 | 1,2 |
| 2 | 2 |
| 3 | 2,3 |
|-----------|-----------|

table3:
|-----------|-------------|
| CourseID | Course Name |
|-----------|-------------|
| 1 | Hardware |
| 2 | Programming |
| 3 | Networking |
|-----------|-------------|

I am kind of confused how I can write statement in Mysql to list each student name with the course name, like:
Joe--Hardware
Joe--Programming
Chris--Hardware
Mike--Networking

In table2, the courseID is in format of contactnated string.

Need help, thanks in advance.
Similar Threads
Reputation Points: 10
Solved Threads: 0
Junior Poster in Training
michael123 is offline Offline
93 posts
since Jun 2005
Sep 16th, 2005
0

Re: Question about SELECT statement.

Your data isn't correct. In table2, you have multiple IDs in some of the rows:
MySQL Syntax (Toggle Plain Text)
  1. table2:
  2. |-----------|-----------|
  3. | Studyarea | CourseID |
  4. |-----------|-----------|
  5. | 1 | 1,2 |
  6. | 2 | 2 |
  7. | 3 | 2,3 |
  8. |-----------|-----------|
This is incorrect. Each row should only have one ID per column. If a Studyarea has more than one CourseID, then there will be more than one row with that Studyarea:
MySQL Syntax (Toggle Plain Text)
  1. table2:
  2. |-----------|-----------|
  3. | Studyarea | CourseID |
  4. |-----------|-----------|
  5. | 1 | 1 |
  6. | 1 | 2 |
  7. | 2 | 2 |
  8. | 3 | 2 |
  9. | 3 | 3 |
  10. |-----------|-----------|
Now you can leave the IDs as concatinated strings, but that breaks database design and requires more work. What you would have to do is use a query to merge the table1 and table2 data, split the values out of the CourseID values, and execute additional queries. I can't see anyone designing a database this way unless they had no idea what they were doing. Is there a reason why you want it to be this way?

P.S. Use code tags ([code][/code]) so that your data looks nice. It's hard to look at your data when it doesn't line up.
Reputation Points: 38
Solved Threads: 25
Posting Shark
chrisbliss18 is offline Offline
902 posts
since Aug 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in MySQL Forum Timeline: MySQL Migration Toolkit help
Next Thread in MySQL Forum Timeline: Error message





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC