Berikut catatan pribadi saya yang diambil dari sumber-sumber di internet:
Saya ingin mengambil result/show column yang hasilnya tergantung pada isi table yang bersangkutan.
Misal:
- Ingin menampilkan kolom "TipeHarga" dengan nilai yang diperoleh dari "Harga" yang terdapat pada table.
- Jika "Harga" > 1000 maka isi kolom "TipeHarga" = Mahal , jika tidak, maka "TipeHarga" = Murah.
Lewat SQL, hal ini bisa diperoleh dengan kata kunci case , when-then-else.
CASE [expression]
WHEN [value | Boolean expression] THEN [return value]
[ELSE [return value]]
END
Contoh:
SELECT CASE WHEN Harga >= 1000
THEN 'Mahal'
ELSE 'Murah' END as TipeHarga
From X
Maka yang tampil adalah kolom "TipeHarga" untuk masing-masing "Harga" < 1000 maka isinya adalah 'Murah', sebaliknya > 1000 isinya 'Mahal'
Dapat juga seperti ini:
SELECT CASE Harga
WHEN 1 Then '1 Rupiah'
WHEN 1000 Then '1000 Rupiah'
WHEN 5000 Then '5000 Rupiah'
ELSE 'Tidak Diketahui'
END as 'Status'
From X
Contoh query lengkapnya :
select P.Name
, P.Type
, PS.SalePrice as Price
, case when PS.SalePrice > 200
then 'Expensive'
else 'Value' end AS PriceType
from Product P
inner
join ProductSale PS
on P.ProductID = PS.ProductID
where P.Category = @Category
and P.Vendor = @Vendor
order by P.Name desc
Maaf kalo ada salah, cuman mao sharing yang saya tau :p
Saran dan Kritik sangat diharapkan :)
No comments:
Post a Comment