SELECT *
FROM Customers
ORDER BY
CASE country
WHEN 'USA' THEN 1
WHEN 'UK' THEN 2
WHEN 'Canada' THEN 3
WHEN 'Ireland' THEN 4
WHEN 'France' THEN 5
ELSE NULL
END,
customerid
Tuesday, September 12, 2006
Custom Sort Order in SQL Server
არცთუ ხშირად, მაგრამ შესაძლებელია, საჭირო გახდეს მონაცემთა ბაზის ცხრილის სვეტის სორტირება არა ანბანის, არამედ რაიმე სხვა, თავისუფალი წესის მიხედვით. მაგალითისათვის, ავიღოთ Customers ცხრილი Northwind ბაზიდან Microsoft SQL Server -დან. დავუშვათ, გვინდა კლიენტების სორტირება ისე, რომ კლიენტები ამერიკიდან იყვნენ სიის თავში, მათ მოსდევდეს კლიენტები დიდი ბრიტანეთიდან და ა.შ. ერთერთი მეთოდი მდგომარეობს CASE კონსტრუქციინ გამოყენებაში. მომყავს სკრიპტი:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment