Minggu, 29 Mei 2016

Mencari data di tabel A yang tidak ada di tabel B

 Jika A adalah tabel master dan tabel B adalah tabel data isian, maka anda diminta untuk mencari data siapa yang belum mengisi. Sehingga logika yang dibangun adalah, select data ditabel A yang tidak ada di tabel B.
Sintaks yang dipakai adalah dengan sintaks NOT EXISTS. Contoh:
SELECT * FROM tabel_a WHERE NOT EXISTS (SELECT * FROM tabel_b)
Jika tabel_a dan tabel_b mempunyai primary key yang sama, pencarian akan lebih cepat dengan query:
SELECT * FROM tabel_a WHERE NOT EXISTS (SELECT * FROM tabel_b WHERE tabel_a.key = tabel_b.key)


Jumat, 13 Mei 2016

Update tabel header dari tabel detail


UPDATE a 
 SET a.kolom_header = b.HRG 
 FROM tabel_header a
 INNER JOIN 
 ( 
    SELECT kode_id, SUM(trans_detail) AS HRG 
    FROM tabel_detail
    GROUP BY kode_id
 ) b ON a.kode_id = b.kode_id 
 [WHERE  (kondisi)]



Contoh :

update a
set a.totalqty = b.ttlqty
from jual_header a
inner join 
(
  select id, sum(trans_qty) as ttlqty
from jual_detail  group by id 
) b on a.id = b.id  where a.tgl between '2016-01-01' and '2016-01-05'


Selasa, 10 Mei 2016