ข้อความ

ผิดพลาด
  • You need to have Community builder installed if you enabled the community builder connection.

:-:-: I love Bualoy :-:-:

SQL Database

แก้ไขล่าสุด ใน วันจันทร์ที่ ๑๕ ธันวาคม ๒๕๕๑ เวลา ๐๓:๑๔ น. เขียนโดย บัวลอย วันอังคารที่ ๓๐ พฤศจิกายน ๒๕๔๒ เวลา ๐๐:๐๐ น.

User Rating: / 2
แย่ดีที่สุด 

เราเคยทำ 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... >>