ขอถาม เกี่ยวกับ การ select ครับ คือว่า มีข้อมูล อยู่สองตาราง ตาราง user มี ฟิล รหัสนักเรียน ชื่อนักเรียน
ลองเปลี่ยนวิธีการ join เป็นแบบอื่นดูครับ
https://www.thaicreate.com/tutorial/sql-join.html
https://www.thaicreate.com/tutorial/sql-outer-join.html
https://www.thaicreate.com/tutorial/sql-right-join.html
https://www.thaicreate.com/tutorial/sql-left-join.html
เพราะแต่ละอัน จะมีคุณสมบัติที่ต่างกัน เช่น left-join ก็จะยึดตารางทางซ้ายเป็นหลัก อะไรประมาณเนี้ยครับ
Date :
2010-07-06 13:52:47
By :
dekcomnvc
ได้ซิคะ
select * from user naterural join score where gp_id='$gp_id' and subject_id ='$subject_id'
ไม่แน่ใจนะคะ
* Distinct มันจะตัดคนที่มีคะเเนนซ้ำกันนะคะ
Date :
2010-07-06 13:58:02
By :
naked13
คืองี้ ครับ
ตารางที่ 1 ตาราง user มี ข้อมูล 10 คน
ตารางที่ 2 ตาราง score มี ข้อมูล เพียง 3 คน มีคะแนน
แล้ว ต้องการ ให้ ตารางที่ 1 มีข้อมูล ครบ ทั้ง 10 คน แต่ ว่า ถ้าคนไหน ไม่มีในตารางที่ 2 ให้ โชว์ เป็นค่าว่างๆ
โดยที่ ตารางที่ 1 มี ฟิล std_id,pre,std_name,std_surname,gp_id โดยที่ gp_id เป็นรหัส กลุ่มนักเรียน
ตารางที่ 2 มีฟิล std_id , subject_id , num,score โดยที่ num คือ ข้อที่ให้คะแนน และ score คือ เก็บคะแนนไว้
ต้องการ เช็คว่า ทั้ง 10 คนนี้ ใครได้รับคะแนน หรือว่า ยังไม่ได้รับ
ตอนนี้ ที่ทำได้ คือ ออกมาแค่ เฉพาะคนที่ได้รับ คะแนน เท่านั้น อยากดูเป็นภาพรวมทั้งหมดอ่ะครับ
Date :
2010-07-06 14:14:31
By :
ineung
[head][/head]
<?php
// tb_std : std_id, std_name, std_grounp
// tb_score : std_id , topic_score, score
// result: std_name, score
$_sql = 'SELECT
std.name, sc.topic_score, sc.score
FROM
tb_std std ,tb_score sc
WHERE
std.std_id = sc.std_id'
;
?>
Date :
2010-07-06 14:22:38
By :
mrjidjad
ลองเอา where ออกนะครับ
SELECT DISTINCT user.std_id,user.std_name,user.pre,user.std_surname,gp_id,score.subject_id FROM user LEFT JOIN score ON user.std_id = score.std_id
Date :
2010-07-06 16:04:09
By :
dekcomnvc
Load balance : Server 02