การรวมสตริงเข้าด้วยกัน
โดยทั่วไปเมื่อพูดถึงการเชื่อมต่อข้อความ (concatenation) เรามักหมายถึงการนำค่าจากหลายคอลัมน์มาต่อกัน แต่อีกโจทย์ที่นักพัฒนาฐานข้อมูลมักเจอคือการเชื่อมค่าจากหลายแถวเข้าด้วยกัน ซึ่งเดิมต้องเขียนโค้ดหลายบรรทัดและแต่ละคนก็มีวิธีการของตัวเอง
ตอนนี้สามารถทำสิ่งเดียวกันได้อย่างง่ายดายด้วยฟังก์ชัน STRING_AGG()
รูปแบบการใช้งานคือ:
STRING_AGG(expression, separator) [WITHIN GROUP (ORDER BY expression)]
ในแบบฝึกหัดนี้ จะสร้างรายการแหล่งที่มาของเมล็ดโกโก้สำหรับแต่ละบริษัทต่อไปนี้: 'Bar Au Chocolat', 'Chocolate Con Amor', 'East Van Roasters'
จำไว้ว่าเพื่อให้ STRING_AGG() ทำงานได้ถูกต้อง ต้องกำหนดเงื่อนไขการจัดกลุ่มข้อมูลและระบุใน GROUP BY
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
-- Create a list with all bean origins, delimited by comma
___(___, ___) AS bean_origins
FROM ratings
WHERE company IN ('Bar Au Chocolat', 'Chocolate Con Amor', 'East Van Roasters');