Monday, May 18, 2009

SQL Query 01

berikut query untuk skenario sbb:

passing parameter @param1 as char(1)

jika @param1 = '0' maka akan tampilkan semua data

jika @param1 = '1' maka akan tampilkan data yang stsrc = 'A' saja

jika @param1 = '2' maka akan tampilkan data yang stsrc = 'D' saja

tentu akan gampang kita buat dengan if, tetapi yang pasti query kita akan panjang sekali. kalau query-nya terlalu panjang, besok2 kalau kita lihat ulang, karena ada permintaan perubahan dan maintenance lainnya, tentu yang mabok kita sendiri. oleh karena itu, perlu kita pikirkan cara lain yang lebih singkat. berikut sintax query:

use database_db

declare @param1 as char(1)

select @param1 = '0'

select distinct stsrc

from master_jadwal_kuliah

where 'a' = case when @param1 = '0' then 'a'

when stsrc = 'A' and @param1 = '1' then 'a'

when stsrc = 'D' and @param1 = '2' then 'a'

end

semoga bermanfaat


No comments: