 |
สอบถามเรื่อง การ join 2 ตาราง ครับ ผม มี อยู่ 2 ตาราง คือ ตาราง A กับ ตาราง B โดยที่ ตาราง A มีข้อมูล ซ้ำ แต่ ตาราง B มีข้อมูลไม่ซ้ำกัน |
|
 |
|
|
 |
 |
|
select *
from tb_A,tb_B
where tb_A.ID_A = tb_B.ID_B and tb_B.Check = 0
|
 |
 |
 |
 |
Date :
2013-07-12 10:27:58 |
By :
คิล |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รัน error ครับ ไม่ทราบเป็นเพราะอะไร คับ หรือเพราะ ตารางแรก มีค่าที่ซ้ำกัน ครับ
|
 |
 |
 |
 |
Date :
2013-07-12 10:42:14 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้า ID_A เป็น pimery ก็ห้ามซ้ำครับ อันที่จริงก็ไม่ควรซ้ำอยู่แล้วครับ
|
 |
 |
 |
 |
Date :
2013-07-12 10:53:43 |
By :
คิล |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้า กำหนด ให้ดึง ค่า ID_A เป็น distinct แล้ว เอา ID_A มาเทียบ กับ ID_B ได้หรือเปล่า ครับ เช่น ดึง distinct มาแล้ว ค่อย เอามาเทียบ กับ ID_B ขอแนวทาง พอ แนะนำผมอีกทีได้ หรือ เปล่า ครับ
|
 |
 |
 |
 |
Date :
2013-07-12 10:59:36 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แบบฝึกหัดเหรอครับ?
ขอตัวอย่างข้อมูลจริงได้รึเปล่าครับ?
|
 |
 |
 |
 |
Date :
2013-07-12 13:39:22 |
By :
{Cyberman} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้งาน จิง ครับ
ผมดึงข้อมูลจาก ตาราง order สาเหตุที่ idcode_pb ซ้ำ คือ สินค้าหลายตัวใน รายการนั้น ครับ
ส่วนตาราง order_due_date_check คือตาราง ที่ ติ๊ก ว่าเสร็จแล้วให้ แถวนั้นหายไป ครับ
ตารางที่อยู่ตรงกลางคือ ข้อมูลที่นำ 2 ตารางข้างบนมารวมกัน คือ ถ้าขึ้นสีแดง คือ ทำยังไม่เสร็จ ค้างอยู่ ครับ ส่วนถ้าขึ้น สีเขียว แสดงว่าของทำเสร็จแล้ว คับ ให้ติ๊กว่าเสร็จ แล้วข้อมูลจะบันทึกลง ตาราง order_due_date_check
ที่ติดตอนนี้ คือ อยากให้ ติกแล้วกดจัดการข้อมูลนั้นจะหายไปครับ รบกวนด้วย ครับ

|
 |
 |
 |
 |
Date :
2013-07-12 14:26:02 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เพิ่มเติม ครับ ถ้า due_check=1 ไม่ต้อง ดึงมา ครับ ดึงมาเฉพาะข้อมูล due_check= 0 เท่านั้น ครับ
|
 |
 |
 |
 |
Date :
2013-07-12 18:27:47 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จากตารางผลลัพธ์ ผมสังเกตว่าดึงข้อมูลโดยใช้ตาราง order_due_date_check เพียงตารางเดียวนี่ครับ
ทำไมต้อง JOIN กับตาราง ORDER ด้วยครับ
|
 |
 |
 |
 |
Date :
2013-07-12 19:32:41 |
By :
{Cyberman} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอโทดครับ ผมลืม บอก คือว่า กรอบสีแดงมาจาก table order ส่วนกรอบ สีดำ มาจาก order_due_date_check โดยเอา เลขที่ใบสั่งเทียบกัน * ผมส่งค่าบันทึก 3 ค่าจาก table order ลงใน table order_due_date_check เพราะจะทำให้กำหนด ว่าเสร็จแล้ว และถ้า ใน table order_due_date_check มีค่าเท่ากับ 1 ไม่ต้องโชว์ข้อมูล ในตาราง order
เช่น KF-201211-0009 เปนสีเขียว พอ ติดที่ช่อง คำว่าเสร็จแล้ว กดส่งค่า แล้วให้ตรวจสอบว่า ถ้า เลขที่ใบสั่ง ในตาราง order ตรงกับ เลขที่ใบสั่งใจ ตาราง order_due_date_check ตรงกัน ไม่ต้องดึงค่ามา มาจาก ตาราง order แบบนี้พอจะได้หรือเปล่า ครับ ขอบ คุณ ล่วง หน้า ครับ ช่วยผมอีกนิดน่ะ ครับ

|
ประวัติการแก้ไข 2013-07-13 08:54:48 2013-07-13 09:09:14
 |
 |
 |
 |
Date :
2013-07-13 08:53:33 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พี่ครับ ผม รันแล้ว ออก แบบนี้ ครับ ผมอยากกำหนดให้ ในตาราง order กำหนด ค่า distinct ของ idcode_pb เพื่อเอามาเทียบค่ากับ ตาราง order_due_date_check ถ้า `order`.idcode_pb เท่ากับ order_due_date_check.idcode_pb ไม่ต้องดีงมา ถ้า 2 ตาราง ค่า idcode_pb ไม่ต้องกันให้ดึง `order`.idcode_pb มาทั้งหมด ครับ ไม่รู้ว่า ผมเขียนแบบนี้ ผิดรึเปล่า ครับ ผิดตรงไหน แนะด้วย ครับ พี่
Error Query [SELECT (DISTINCT `order`.idcode_pb), order_due_date_check.order_date , order_due_date_check.due_check FROM `order` LEFT JOIN order_due_date_check ON `order`.idcode_pb = order_due_date_check.idcode_pb GROUP by `order`.idcode_pb]
โค๊ด ครับ
Code (PHP)
SELECT (DISTINCT `order`.idcode_pb), order_due_date_check.order_date , order_due_date_check.due_check
FROM `order`
LEFT JOIN order_due_date_check ON `order`.idcode_pb = order_due_date_check.idcode_pb
GROUP by `order`.idcode_pb
|
ประวัติการแก้ไข 2013-07-13 10:30:18
 |
 |
 |
 |
Date :
2013-07-13 10:28:19 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
(DISTINCT `order`.idcode_pb) ต้องเป็น DISTINCT(`order`.idcode_pb) AS idcode_pb
แต่การใช้ GROUP by order.idcode_pb มันก็แสดงแค่ค่าเดียวแล้วไม่ต้อง DISTINCT ตอน SELECT ก็ได้ครับ
|
 |
 |
 |
 |
Date :
2013-07-13 12:01:41 |
By :
{Cyberman} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบ คุณ มาก ครับสำหรับคำแนะนำ พี กระบี่
|
 |
 |
 |
 |
Date :
2013-07-15 08:49:12 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|