การ join กันมากกว่า 2 ตารางนั้น ไม่ได้มีอะไรยุ่งยากอย่างที่คิด วิธีการก็แค่ เขียน join ต่อกันไปเรื่อยๆ ยกตัวอย่างนะครับ ถ้าสมมติว่า ผมมี ตารางในฐานข้อมูล อยู่ 3 ตาราง คือ province , amphur , tumbol เก็บ จังหวัด อำเภอ ตำบล ตามลำดับ
และทีนี้ ผมต้องการ เอารายชื่อตำบลมาแสดง โดยให้แสดงจังหวัด และอำเภอ ด้วย ซึ่งจังหวัดและอำเภอนั้น ก็เก็บแยกกันไว้ ตามตารางด้านบน งานนี้เลยต้อง join กัน 3 ตาราง
1 2 3 | SELECT * FROM tumbol LEFT JOIN amphur ON (tumbol.amphur_id=amphur.amphur_id) LEFT JOIN province ON (amphur.province_id=province.province_id) |
เท่านี้แหละครับ จะเห็นว่าเราสามารถต่อ LEFT JOIN ไปได้เรื่อยๆ
บทความน่าสนใจ
- การใช้ left join ภาษา sql
- การใช้ inner join ภาษา sql
- SQL Join
- ฟังก์ชั่นต่อข้อความของ MySQL
- Navicat – Preview การติดตั้งโปรแกรม Navicat
Tags: MySQL
มี 5 ความเห็น ในบทความเรื่อง “left join 3 table”
แสดงความเห็น
Categories
-
Recent Posts
- javascript ห้ามคลิกขวา
- CSS IE Bugs แมลงร้ายในไออี 6
- PHP round ปัดเศษ
- PHP ceil() ปัดเศษขึ้น
- Gravatar สร้างร่างใหม่สู่โลกออนไลน์
- PHP floor() ปัดเศษลง
- แจกโค้ด php คำนวณอายุ
- PHP date() ฟังก์ชั่นจัดการวัน-เวลา
- SQL order by ให้ถูกใจเจ้านาย
- jQuery tab
- jQuery UI
- smf themes แจกกันฟรีๆ
- jQuery เพิ่มแถวเข้าไปในตาราง
- wordpress twitter plugin
- jQuery .each เขาใช้กันยังไง
Tags
Array Back to the basic calendar CAPTCHA chart CSS Dreamveawer error firefox firefox plugin FPDF General gmail google hotmail html icon icons javascript jQuery jquery plugin jquery slide jquery tooltip jQuery tutorial jQuery UI loop Mac MySQL Other PHP plugin program programming slide slide show SMF smf themes smf themes download smf themes free smf themes thai SQL sql function tooltip wordpress wordpress plugin
“SELECT Material.Description, Category.Name as Category, Company.Name FROM Material LEFT JOIN Category ON (Material.CategoryID = Category.ID) LEFT JOIN Company ON (Material.CompanyID = Company.ID) ”
พิมพ์ตามนี้ไปแล้ว มันยังขึ้น error ว่า
Syntax error (missing operator) in query expression ‘(Material.CategoryID = Category.ID) Left Join Company ON (Material.companyID = Company.ID)’.
ปล ใช้ Visual basic 2008 เรียกข้อมูลจาก Access
ผมว่าปัญหาน่าจะเกิดจากตรงนี้
Category.Name as Category
ลองเปลี่ยนเป็น Category.Name as Category_Name
ดูนะครับ
“SELECT Material.Description, Category.Name as Category, Company.Name FROM (Material LEFT JOIN Category ON Material.CategoryID = Category.ID) LEFT JOIN Company ON Material.CompanyID = Company.ID ”
ได้ล่ะครับขอบคุณมาก ต้องใส่วงเล็บแบบนี้อ่ะครับ เหมือนคิดเลข
(((Left join 1) Left join2) Left join 3)
แสดงว่าฐานข้อมูลที่ใช้เป็น Access ถ้าเป็นฐานข้อมูล Mysql สามารถ join กันได้โดยไม่ต้องใส่วงเล็บครอบ แต่ถ้าเป็นของไมโครซอฟต์ จะต้องครอบวงเล็บให้ดี ไม่ว่าจะเป็น Access หรือ sql server
อ่าว เพิ่งเห็นว่าโพสต์ข้างบนบอกว่าเป็น Access