วันนี้เหนื่อยกับการแก้โจทย์ปัญหา "data provider or other service returned an e_fail status" อยู่นานมากๆ
ปัญหาน่าจะเกิดจากการ JOIN แล้วฟิลด์บางฟิลด์เป็นค่าว่าง ลองค้นไปค้นมาก็เจอคำแนะนำว่าอย่าได้ใช้ SELECT * FROM .... เป็นอันขาดนะ ไม่งั้นจะเจอ Error แบบนี้แหละ
เลยเปลี่ยนไป SELECT เฉพาะฟิลด์ที่ต้องใช้งาน ก็ผ่านไปได้ด้วยดี
โค๊ดเดิมที
SELECT * FROM table01
INNER JOIN table02 ON table01.id = table01.tb1_id
INNER JOIN table02 ON table01.id = table01.tb1_id
WHERE fld1 = 'xxx'
โค๊ดที่เปลี่ยนใหม่
SELECT fld1, fld2, fld3 FROM table01
INNER JOIN table02 ON table01.id = table02.tb1_id
INNER JOIN table03 ON table01.idx2 = table03.tb1_idx2
WHERE fld1 = 'xxx'
สุดท้ายก็ใช้งานได้ และเป็นอีกกรณีหนึ่งที่ได้ความรู้เพิ่มเติม ^^
ความคิดเห็น
แสดงความคิดเห็น