สอบถาม SQL ต้องการใช้ IN กับผล Query ที่ได้มาจากการ Join 3 ตารางครับ

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

สอบถาม SQL ต้องการใช้ IN กับผล Query ที่ได้มาจากการ Join 3 ตารางครับ
ผมมีข้อมูล 3 ตาราง เอามา JOIN กันเรียบร้อย ได้ผลตามรูปครับ
 
SELECT * FROM m_ingredient_tb 
LEFT JOIN m_menu_tb  ON m_menu_tb.m_apply_ing 
LEFT JOIN m_price_tb  ON m_price_tb.p_id 
WHERE m_menu_tb.m_id ='1001'  AND 
m_ingredient_tb.ingre_id IN (1,2,3,4)  AND  
m_price_tb.p_apply_mg = '2'  



ทีนี้ผมอยากให้แสดงราคาของรายการนี้สำหรับวัตถุดิบต่างๆเฉพาะที่กำหนดใน p_apply_ingre เลยลองใส่เพิ่ม 
 
AND m_ingredient_tb.ingre_id IN (m_price_tb.p_apply_ingre)
 
ปรากฏว่ามันแสงออกมาแค่นี้ครับ ซึ่งที่ต้องการมันควรแสดงออกมา 4 Record   = ="



รบกวนพี่ช่วยดูทีครับ ผมว่าโค้ดมันก็ไม่ซับซ้อนแต่ทำไมออกมายังงี้ไม่รุ -*-

 


Dekict 27-04-2014 23:28:02

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

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


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


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

 ความคิดเห็นที่ 1
คำสั่ง sql ประมาณนี้ คงต้องไล่เอง เพราะต้องมีข้อมูลตัวอย่าง
แต่ดูแล้ว ใช้ IN แบบนั้นไม่น่าจะถูก เพราะ  p_apply_ingre 
เก็บข้อมูลเป็น text 


ninenik 28-04-2014
 ความคิดเห็นที่ 2
ขอบคุรครับ ผมลองไปแก้ๆ โค้ดดูละครับ เป็นเพราะ IN กับตัวหนังสือมันมองเห็นแค่ค่าแรกจริงๆด้วย 


dekict 28-04-2014 15:39






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