ผมมีตารางข้อมูลของข้อมูลวิชาเลือกนักเรียน ซึ่งแต่ละเทอมมี 3 วิชา
ปัญหามีมีอยู่ว่าเวลาผมจะค้นหาข้อมูลนักเรียนที่มีวิชาเลือกเนี่ย ผมต้องทำแบบนี้
SELECT * FROM subject_member WHERE member_now_1=1 OR member_now_2=1 OR member_now_3=1;
ผมคิดว่าถ้าเขียนแบบนี้ มันจะไม่ค่อยเป็น dynamic สักเท่าไหร่นะครับ
ผมอยากทราบว่า ระหว่าง
- ใช้ php ตรวจสอบว่าตารางที่ขึ้นต้นด้วย member_now มีกี่ช่อง แล้วใช้ for ลูปแล้วเขียน OR เพิ่มไปเรื่อยๆ กับ
- ยุบ member_now ให้มีคอลัมน์เดียว เปลี่ยนเป็น varchar ขนาด 12 แล้วค้นหาด้วยการ
WHERE member_now LIKE %1%;แต่ผมกังวลว่ามันจะมีผลต่อความเร็วในการ query ข้อมูลออกมา และไม่สะดวกเวลาค้นหาเป็นสายชั้นด้วย
หรือถ้ามีวิธีอื่นที่น่าสนใจก็เสนอกันได้นะครับ
ขอบคุณมากครับ _/\_
on

ถ้าเก็บข้อมูลลง column:
massacre Sat, 09/02/2013 - 23:40
ถ้าเก็บข้อมูลลง column: member_course เช่น 'term1_1', 'term1_2', 'term1_3'
แล้วหาข้อมูลล่าสุดก็ where member_course like 'term11_%'
ถ้าหาชั้นไหนก็ where member_course like 'term6_%' อย่างนี้ได้ไหมครับ