ข้อความ
- ผิดพลาด
:-:-: I love Bualoy :-:-:
SQL Database
แก้ไขล่าสุด ใน วันจันทร์ที่ ๑๕ ธันวาคม ๒๕๕๑ เวลา ๐๓:๑๔ น. เขียนโดย บัวลอย วันอังคารที่ ๓๐ พฤศจิกายน ๒๕๔๒ เวลา ๐๐:๐๐ น.
เราเคยทำ sql ที่เปลี่ยนข้อมูลในการแสดงจากที่เป็น แนวตั้ง มาเป็นแนวนอน ให้อยู่ในแถวเดียว โดยการใช้ union กันมาแล้ว
แต่ วันนี้ การทำ union นั้นเป็นลักษณะของ ฐานข้อมูล หลาย Table แต่หากต้องการให้ ข้อมูลใน Table เดียวละที่แสดง จากที่แสดงในรูปแบบ แนวตั้งเป็นแนวนอน
หลายคนคง งง ว่ายังไง แนวตั้ง แนวนอน ดูตัวอย่างแล้วกัน
แนวตั้ง เช่น
| จังหวัด | จำนวนประชากร |
| กทม | 15 |
| สงขลา | 20 |
| เชียงใหม่ | 25 |
ตัวอย่างนี้หาก Table ที่เก็บข้อมูล เป็น ตาราง PP ก็ โดยมี Field ในการแสดงข้อมูลแค่สอง อย่างเป็น จังหวัด,จำนวนประชากร
Ex : select * from PP
ก็จะได้ข้อมูลอย่างตัวอย่างที่แสดง
หากต้องการแสดงข้อมูลในแนวนอน
| จังหวัด | กทม | สงขลา | เชียงใหม่ |
| จำนวนประชากร | 15 | 20 | 25 |
จาก ตัวอย่างแบบ นี้ หลายคนอาจมีวิธีการในการทำให้ได้มาถึงข้อมูล โดยการเขียน Query ไปต่างๆๆ กัน ทีนี้ขอเสนอวิธีการในการเขียนให้ได้ข้อมูลตามที่ได้กล่าวมาแล้วกันนะคับผม
Ex : select 'จำนวนประชากร' as 'จังหวัด', if(จังหวัด =='กทม',sum(จำนวนประชากร),0) as 'กทม', if(จังหวัด =='สงขลา',sum(จำนวนประชากร),0) as 'สงขลา' , if(จังหวัด =='เชียงใหม่',sum(จำนวนประชากร),0) as 'เชียงใหม่' from PP group by จังหวัด
เป็นอันเสร็จ สิ้น ตามที่ต้องการ
Read 1 Comments... >>