มูลหลายค่า เปรียบเทียบวนลูปหรือใช้คำสั่ง SQL ยังไงครับ.

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา มูลหลายค่า เปรียบเทียบวนลูปหรือใช้คำสั่ง SQL ยังไงครับ.

มูลหลายค่า เปรียบเทียบวนลูปหรือใช้คำสั่ง SQL ยังไงครับ.
 
PHP/MYSQL
โจทย์คือต้องการข้อมูลของนักเรียนโดยมีเงื่อนไข   
ฟิลด์ Nostd ของตาราง student  =  ฟิลด์ Bc1_value ของตาราง B1
และฟิลด์ Bc1 ของตาราง B1  =  $identification ซึ่งเป็นค่าที่รับมาจากตัวแปร
 
ต้องเขียนเขียน sql ยังไง หรือ ต้องวนลูปตาราง b1ยังไงครับถึงจะได้มาซึ่งค่าที่ต้องการเพราะค่า bc1 ไม่ได้มีค่าเดียวแต่มีหลายค่าเลยเขียน SQL ไม่ถูกครับ.หรือต้องวนลูปก่อนและลำดับขั้นยังไง
(จากตัวอย่างค่าที่ต้องการคือ student1, student3, student5)


Giggstar 29-10-2018 11:40:30

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ดูเนื้อหานี้เป็นแนวทาง
การใช้งาน SQL LEFT JOIN http://niik.in/554 
https://www.ninenik.com/content.php?arti_id=554 via @ninenik

SELECT
a.*,
b.*
FROM tbl_demo1 a
LEFT JOIN tbl_demo2 b
ON a.a_col3=b.b_col1
WHERE
a.a_col2='004'

แสดงข้อมูลทั้งหมดของทั้ง 2 ตาราง

SELECT
b.b_col2
FROM tbl_demo1 a
LEFT JOIN tbl_demo2 b
ON a.a_col3=b.b_col1
WHERE
a.a_col2='004'

แสดงเฉพาะฟิลด์ที่ต้องการ แล้วใช้ php จัดการแบบ array กับข้อมูล

<?php
$arr_data  = array();
while($row..){
	$arr_data[]=$row['b_col2'];
}
echo implode(",",$arr_data);
?>


SELECT
GROUP_CONCAT(b.b_col2) as student
FROM tbl_demo1 a
LEFT JOIN tbl_demo2 b
ON a.a_col3=b.b_col1
WHERE
a.a_col2='004'
GROUP BY a.a_col2


แสดงเฉพาะฟิลด์ที่ต้องการ โดยรวมเป็นรายการเดียว
Student1,Student2,Student3
 


ninenik 29-10-2018
 ความคิดเห็นที่ 2
ได้แล้วครับ ขอบคุณครับ


giggstar 29-10-2018 16:33






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ