ขอบคุณทุกๆคนมากนะครับ ตอนนี้ทำได้แล้ว มี 2 แนว คือ แบบ select ธรรมดา แต่ใส่ where เยอะๆ กับอีกแบบ คือ UNION
แบบธรรมดา คือ Select ครั้งเดียวโดยเลือกมาทั้ง 2 แบบ แล้วคัดออกด้วย where เยอะหน่อย ใช้เวลา 0.0004 วินาที
select ma.*, m.* from member_add ma, member m where ( ( ma.ma_mem_id='14' or ma.ma_mem_id_addby='14' ) and ( m.id != '14' ) AND ( ma.ma_mem_id=m.id OR ma.ma_mem_id_addby=m.id ) )
แบบ UNION เป็นการ select 2 ครั้ง แล้วเอาผลลัพท์มารวมกัน ใช้เวลา 0.0004 วินาที
( select ma.*, m.* from member_add ma LEFT JOIN member m ON ( ma.ma_mem_id=m.id ) where ( ma.ma_mem_id_addby='14' ) ) UNION ( select ma.*, m.* from member_add ma LEFT JOIN member m ON ( ma.ma_mem_id_addby=m.id ) where ( ma.ma_mem_id='14' ) )
ตอนนี้ เป็นแค่การเขียนโปรแกรม ยังมีข้อมูลในตาราง member แค่ 4-5 รายการ เลยใช้เวลาเท่ากันเลย
แต่ถ้าข้อมูลมากขึ้นๆ หลายๆหมื่นรายการ ทุกท่านคิดว่า วิธีไหน จะใช้ process SQL น้อยกว่ากันครับ? :
