ขอความช่วยเหลือเรื่อง query ครับ..

เกี่ยวกับ ฐานข้อมูล MySql Oracle MSSQL ect..

Moderator: phpbb, mindphp

ตอบกลับโพส
sjungwat
phpBBThailand Newbie
phpBBThailand Newbie
โพสต์: 1
ลงทะเบียนเมื่อ: 07 ก.พ. 2012, 16:31

ขอความช่วยเหลือเรื่อง query ครับ..

โพสต์ โดย sjungwat »

ผมมีอยู่ 4 table คือ
tbl_student (stu_id,stu_name,stu_sex,major_id) ตารางนักเรียน
tbl_major (major_id,major_name) ตารางแผนกวิชา
tbl_teacher (tea_id,tea_name,tea_username,tea_pwd) ตารางครู
tbl_adviser (id,stu_id,tea_id) ตารางครูที่ปรึกษา
ระบบจะมีการให้ครูล็อกอินเข้าระบบและเก็บเซสชั่นไว้ในตัวแปร ที่ผมต้องการคือ เมื่อครูจะค้นหารายชื่อนักเรียน ระบบจะแสดงรายละเอียดของนักเรียนคนนั้นที่อยู่ในที่ปรึกษาของครูคนนี้ หรือถ้าไม่มีการค้นหา ระบบจะแสดงรายละเอียดของนักเรียนทั้งหมดที่อยู่ในที่ปรึกษาของครูคนนี้ คนที่ไม่ใช่จะไม่มีรายชื่อขึ้นมา เท่าที่ผมทำจะมีตารางเกี่ยวข้องอยู่ 4 ตารางดังข้างบนนี้ครับ ใช้การ LEFT JOIN table ที่ผมทำจะเป็นประมาณแบบนี้ อ้อ ใช้ php ในการเขียนครับ

$sql = "SELECT a.stu_id, a.stu_name, a.stu_sex, b.major_name FROM tbl_student a LEFT JOIN tbl_major b WHERE (a.major_id = b.major_id)

ส่วนการล็อกอิน ระบบจะนำชื่อ username ในการล็อกอินที่เก็บไว้ในตัวแปร นำไปเปรียบในตาราง tbl_teacher เพื่อให้ได้ tea_id ออกมา แล้วนำ tea_id ไปหาในตาราง tbl_adviser ว่า มี stu_id คนไหนบ้างที่มี tea_id คนนี้เป็๋นที่ปรึกษาอยู่ ผมว่าน่าจะ query ซ้อนกันหลายชั้นแน่เลย ผมลองทำดูแล้วยังงงๆ แต่ก็ยังทำให้ขึ้นเฉพาะรายชื่อนักเรียนที่อยู่ในที่ปรึกษาของครูคนที่ใช้งานระบบ ยังไม่ได้ครับ ขอความช่วยเหลือด้วยครับ ขอบคุณครับ..
ภาพประจำตัวสมาชิก
Got-ji
phpBBThailand Newbie
phpBBThailand Newbie
โพสต์: 1
ลงทะเบียนเมื่อ: 02 ก.ย. 2012, 14:08

Re: ขอความช่วยเหลือเรื่อง query ครับ..

โพสต์ โดย Got-ji »

SELECT tea.tea_name,stu.stu_name
FROM tbl_teacher tea JOIN tbl_advisor adv ON (tea.tea_id=adv.tea_id)
JOIN tbl_student stu ON (adv.stu_id=stu.stu_id)
WHERE tea.tea_username = 'username' and stu_name LIKE '%stu_var%'

ตรงนักเรียนตามนี้เลยครับ ถ้าไม่มีค่าจะออกมาหมด


ไม่สำเร็จบอกนะครับจะได้ แก้ให้
ตอบกลับโพส

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 94 และ บุคคลทั่วไป 0 ท่าน