หนูต้องการดึงข้อมูลการลงทะเบียนของนักศึกษาปีกาศึกษาและเทอมล่าสุดของแต่ละคนน่ะค่ะ มีพี่แนะนำมาว่าให้ใช้คำสั่ง max หนูลองทำแล้วไม่ได้ค่ะ พี่ช่วยแนะนำหน่อยได้ไหมค่ะ
order by idลงทะเบียน DESC limit 1
Date :
2012-05-11 13:12:13
By :
rootElement@kmutnb
ลองทำแล้วค่ะ ไม่ได้ ช่วยหน่อยน่ะค่ะ
Date :
2012-05-11 18:51:06
By :
comerror
ต้องจับภาพหน้าตัวอย่างข้อมูล/โครงสร้างของตารางใน phpmyadmin และคำสั่ง sql ที่ใช้ดึงข้อมูลมาดูก่อนครับ
Date :
2012-05-11 23:09:43
By :
sakuraei
Code (PHP)
SELECT
AVSREG.STUDENTMASTER.STUDENTCODE,
AVSREG.ENROLLSUMMARY.ACADYEAR,
AVSREG.ENROLLSUMMARY.SEMESTER,
AVSREG.CLASSINSTRUCTOR.OFFICERID,
AVSREG.ENROLLSUMMARY.STUDENTID,
AVSREG.OFFICER.OFFICERNAME,
AVSREG.OFFICER.OFFICERSURNAME,
AVSREG.COURSE.COURSENAME,
AVSREG.STUDENTMASTER.CAMPUSID,
AVSREG.COURSE.COURSECODE
FROM
AVSREG.ENROLLSUMMARY
Inner Join AVSREG.CLASS ON AVSREG.ENROLLSUMMARY.CLASSID = AVSREG.CLASS.CLASSID
Inner Join AVSREG.CLASSINSTRUCTOR ON AVSREG.CLASSINSTRUCTOR.CLASSID = AVSREG.ENROLLSUMMARY.CLASSID
Inner Join AVSREG.STUDENTMASTER ON AVSREG.STUDENTMASTER.STUDENTID = AVSREG.ENROLLSUMMARY.STUDENTID
Inner Join AVSREG.OFFICER ON AVSREG.CLASSINSTRUCTOR.OFFICERID = AVSREG.OFFICER.OFFICERID
Inner Join AVSREG.COURSE ON AVSREG.CLASS.COURSEID = AVSREG.COURSE.COURSEID
WHERE
AVSREG.ENROLLSUMMARY.ACADYEAR = '2554' AND
AVSREG.ENROLLSUMMARY.SEMESTER = '2'
นี่เป็นโค้ดที่ใช้ดึงข้อมูลค่ะ ซึ่งต้องการให้ผลลัพธ์ออกมาแบบนี้
อธิบายเพิ่มเติม
เมื่อนักศึกษาล็อกอินเข้ามาก็ให้แสดงรายวิชาที่นักศึกษาได้ลงทะเบียนเรียนในปีการศึกษาและเทอมปัจจุบัน ซึ่งนักศึกษาบางคนก็มีลงซัมเมอร์ด้วย ก็เลยอยากให้แสดงผลการลงทะเบียนเรียนล่าสุดของแต่ละคนอ่ะคะ ตอนนี้หนูแค่ลองกำหนดให้ค่าตายตัว ลองมาหลายวิธีแต่ไม่ได้สักที ช่วยหน่อยน่ะค่ะ
ประวัติการแก้ไข 2012-05-11 23:24:04
Date :
2012-05-11 23:22:22
By :
comerror
ถ้าวิธีของผมนะครับ
ก้อเพิ่ม filed ใน table 1 field เก็บ status ล่าสุด แล้ว ตอน select ก้อ where ตัวนั้นครับ
Date :
2012-05-11 23:45:26
By :
thailandonlyjob
ลองดูน่ะครับ ไม่รู้ว่าจะใช้ได้มั๊ย
Code
SELECT
AVSREG.STUDENTMASTER.STUDENTCODE,
AVSREG.ENROLLSUMMARY.ACADYEAR,
AVSREG.ENROLLSUMMARY.SEMESTER,
AVSREG.CLASSINSTRUCTOR.OFFICERID,
AVSREG.ENROLLSUMMARY.STUDENTID,
AVSREG.OFFICER.OFFICERNAME,
AVSREG.OFFICER.OFFICERSURNAME,
AVSREG.COURSE.COURSENAME,
AVSREG.STUDENTMASTER.CAMPUSID,
AVSREG.COURSE.COURSECODE,
(select max(AVSREG.ENROLLSUMMARY.ACADYEAR) from AVSREG.ENROLLSUMMARY) as lastAcadYear,
(select max(AVSREG.ENROLLSUMMARY.SEMESTER) from AVSREG.ENROLLSUMMARY where AVSREG.ENROLLSUMMARY.ACADYEA = lastAcadYear ) as lastSemester
FROM
AVSREG.ENROLLSUMMARY
Inner Join AVSREG.CLASS ON AVSREG.ENROLLSUMMARY.CLASSID = AVSREG.CLASS.CLASSID
Inner Join AVSREG.CLASSINSTRUCTOR ON AVSREG.CLASSINSTRUCTOR.CLASSID = AVSREG.ENROLLSUMMARY.CLASSID
Inner Join AVSREG.STUDENTMASTER ON AVSREG.STUDENTMASTER.STUDENTID = AVSREG.ENROLLSUMMARY.STUDENTID
Inner Join AVSREG.OFFICER ON AVSREG.CLASSINSTRUCTOR.OFFICERID = AVSREG.OFFICER.OFFICERID
Inner Join AVSREG.COURSE ON AVSREG.CLASS.COURSEID = AVSREG.COURSE.COURSEID
WHERE
AVSREG.STUDENTMASTER.STUDENTID = 'xxxxx'
HAVING
AVSREG.ENROLLSUMMARY.ACADYEAR=lastAcadYear and
AVSREG.ENROLLSUMMARY.SEMESTER=lastSemester
Date :
2012-05-12 11:46:48
By :
sakuraei
ขอโทษ Unidentifer ด้วยค่ะ ที่ไม่ได้แจ้ง พอดีลองทำแล้วก็ยังไม่ได้อ่ะ ก็เลยกำลังวุ่นหาวิธีอื่นอยู่ ขอโทษด้วยน่ะค่ะ
Date :
2012-05-13 12:53:04
By :
comerror
ผลลัพธ์จาก sql ที่ให้ไปเป็นอย่างไรครับ ลองเอามาให้ดูอีกครั้ง อาจช่วยกันแก้ไขได้
Date :
2012-05-13 13:03:32
By :
sakuraei
ขอบคุณUnidentiferค่ะ แต่ะหนูไปเจออาจารย์แล้วและอาจารย์ให้ใช้วิธีเพิ่มสถานะของข้อมูลและให้ดึงมาเฉพาะที่มีค่าเป็น 1 เท่านั้นค่ะ ขอบคุณมากๆๆๆๆๆๆๆๆๆๆๆๆเลยค่ะที่คอยติดตาม
Date :
2012-05-13 13:09:10
By :
comerror
Load balance : Server 00