From: Koon Yue Lam [mailto:[EMAIL PROTECTED]
> Hi, here is the case: > > one student may have more than one address, and one student > may have more than one phone number > > so the db would be: > > student > ---------------- > student_id > name > age > > address > --------------- > address_id > student_id > street_name > > phone_num > ------------------ > student_id > num > extension > > the key of 3 tables are student_id > > the problems is, when I want to query both student, address > and phone num, the sql will be > > select * from student s, address a, phone_num n > where s.student_id = a.sudent_id > and s.student_id = n.student_id > > it won't provide a nice result as data of student are > repeated in every row, address and phone_num's data are > repeated in certain rows > The output is not suitable for reporting and may I ask what > is the better way of design to handle the above case ? It's good DB design, but you need to not `select *' but the specific fields you'd like. An example of might be: SELECT s.name, s.age, a.street_name, n.num, n.extension FROM students s JOIN address a ON a.student_id = s.student_id JOIN phone_num n ON n.student_id = s.student_id HTH! -- Mike Johnson Smarter Living, Inc. Web Developer www.smartertravel.com [EMAIL PROTECTED] (617) 886-5539 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]