ทำไม select จาก id แต่ข้อมูลออกมาหลายชุด

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ทำไม select จาก id แต่ข้อมูลออกมาหลายชุด

Re: ทำไม select จาก id แต่ข้อมูลออกมาหลายชุด

โดย mindphp » 02/11/2019 1:55 pm

tools_tracking
==> tools_tracking_test ชือในการตั้งไม่สือ
แก้เป็น tools_tracking_logs และ เก็บ id ของ ตามราง tools_tracking เป็น FK ของตารางนี้
และการ Join ในการ query ข้อมูลมา แสดงใช้ แค่สองตาราง คือ tools_tracking และ tools_tracking_logs
โดยเงื่อนไขในการ query การ Join
ลองดูตัวอย่าง
viewtopic.php?f=74&t=18661&p=38899#p38899

Re: ทำไม select จาก id แต่ข้อมูลออกมาหลายชุด

โดย bankjittapol » 02/11/2019 1:45 pm

mindphp เขียน:ตาราง tools_tracking_test , tools_tracking_status ออกแบบไว้ ยังไว ไว้เก็บค่าอะไรบ้าง
tools_tracking_status เป็นสถานะ ของการจัดส่งพัสดุครับ
dbstatus.png
dbstatus.png (116.9 KiB) Viewed 893 times
tools_tracking_test เก็บ ชุดข้อมูล การจัดส่งจากต้นทาง ไปถึงปลายทาง ทั้งหมดเลยครับ
dbtest.png
dbtest.png (133.22 KiB) Viewed 893 times
ในกรอบคือ 1 ชุดข้อมูล ที่ทำการ insert 1 ครั้งครับ

Re: ทำไม select จาก id แต่ข้อมูลออกมาหลายชุด

โดย mindphp » 02/11/2019 12:53 pm

ตาราง tools_tracking_test , tools_tracking_status ออกแบบไว้ ยังไว ไว้เก็บค่าอะไรบ้าง

ทำไม select จาก id แต่ข้อมูลออกมาหลายชุด

โดย bankjittapol » 02/11/2019 12:48 pm

Screenshot_2019-11-02 โปรแกรมตรวจสอบหมายเลขพัสดุ.png
Screenshot_2019-11-02 โปรแกรมตรวจสอบหมายเลขพัสดุ.png (51.55 KiB) Viewed 900 times
จากภาพ คือ ผมทำการ select ข้อมูลจากฐานข้อมูลมา โดยอ้างอิงจาก id ของ table tools_tracking ซึ่งมันควรจะออกมา เพียงข้อมูล 1 ชุด ของ id =4 เท่านั้น แต่กับออกมาทุกชุดข้อมูลที่มี เลยอยากทราบว่าต้อง เพิ่ม แก้ไข ปรับปรุงตรงไหนบ้างครับ

โค้ด: เลือกทั้งหมด

SELECT * FROM tools_tracking as tk
LEFT JOIN tools_tracking_test as tt ON tk.tracking_number = tt.test_barcode
LEFT JOIN tools_tracking_status as ts ON tt.test_status = ts.status_code
WHERE  tk.id = 4
ผลลัพธ์ที่ได้
Screenshot.png
ฐานข้อมูล
3.png
1.png
1.png (80.49 KiB) Viewed 900 times

ผลลัพธ์ที่ควรได้
Screenshot_2019-11-02 โปรแกรมตรวจสอบหมายเลขพัสดุ.png
Screenshot_2019-11-02 โปรแกรมตรวจสอบหมายเลขพัสดุ.png (41.43 KiB) Viewed 900 times

ข้างบน