Sengaja menggunakan judul bahasa Inggris, karena menurut saya lebih mudah dicerna.
Intinya adalah "Bagaimana menggunakan Alias yang terdapat pada Select statement untuk Where clause"
Misal:
Select concat(FirstName, LastName) as FullName
from Employees
where FullName = 'Im Yoona'
Query diatas akan menimbulkan error, karena WHERE adalah T-SQL, WHERE clause selalu dieksekusi terlebih dahulu sebelum SELECT statement, sehingga alias FullName tidak akan terdefinisikan oleh WHERE clause.
Jika anda belum tahu/lupa dengan cara kerja garis besar query pada sql (untuk SELECT statement), bisa dilihat pada artikel :
How Select Statement Works
Ingat: pada SQL Server fungsi concat belum tentu ada, biasanya diganti dengan '+' (tanpa petik).
Hal tersebut mudah saja untuk diselesaikan, yaitu dengan menaruh formula concat(FirstName, LastName) = 'Im Yoona' pada WHERE clause.
Tetapi bagaimana jika formulanya kompleks seperti :
case when ctr.slrid =
(select mbrcompany from CTRBOOK where ctrbook.CTRBOOKID = ctr.CTRBOOKID)
then (select mbrshortname from jcmbr jc where MBRID = ctr.byrid)
else (select mbrshortname from jcmbr jc where MBRID = ctr.slrid) end as 'counterparty'
Ada 2 cara:
1. Dengan melakukan aliasing table pada formula:
SELECT FullName
FROM (
select concat(FirstName, LastName) as FullName
from Employees
) as sub
WHERE sub.FullName = 'Im Yoona'
2. Membuat View
CREATE VIEW dbo.EmployeesConcat
AS
SELECT
concat(FirstName,LastName) as FullName
FROM Employees
-- maka sql statementnya menjadi lebih singkat
SELECT
FullName
FROM EmployeesConcat
WHERE FullName = 'Im Yoona'
Untuk cara lainnya mungkin ada tapi belum dicari lagi, dan kiranya bisa kasih masukkan jika ada :)
Jika ada salah, mohon koreksinya :)
Maksud hati hanya mao sharing yang saya tau kok :D
Just a collection of notes (documentation purpose) that past over in my life.. I just want to shared what I've got and pour it on this blog ^^
Sunday, November 27, 2011
Sunday, November 20, 2011
Abbreviation & Terminology (1)
CMOS = Complementary Metal Oxide Semiconductor
Biasanya teknologi ini digunakan pada perangkat IC.
BIOS = Basic Input Output System
adalah suatu embedded system yang mengatur input output dari software ke hardware. Software yang dimaksud dalam hal ini adalah embedded system.
Bootloader = Adalah suatu package yg berisi kode-kode untuk mengeksekusi / meload Operating System software dalam sebuah device, PC/komputer, mesin, dll.
Kernel = Adalah jembatan antara software (Operating System) dengan hardware. Kernel mengatur proses manajemen memori, I/O dan alokasi proses.
Jika ada salah, mohon koreksinya :)
Maksud hati hanya mao sharing yang saya tau kok :D
Biasanya teknologi ini digunakan pada perangkat IC.
BIOS = Basic Input Output System
adalah suatu embedded system yang mengatur input output dari software ke hardware. Software yang dimaksud dalam hal ini adalah embedded system.
Bootloader = Adalah suatu package yg berisi kode-kode untuk mengeksekusi / meload Operating System software dalam sebuah device, PC/komputer, mesin, dll.
Kernel = Adalah jembatan antara software (Operating System) dengan hardware. Kernel mengatur proses manajemen memori, I/O dan alokasi proses.
Jika ada salah, mohon koreksinya :)
Maksud hati hanya mao sharing yang saya tau kok :D
Subscribe to:
Posts (Atom)