Dear Mang Oyib,
berikut ini saya sekali iseng coba2...
DROP TABLE karyawan purge
CREATE TABLE karyawan(ID_CODE VARCHAR2(3), NAMA_ANGGOTA VARCHAR2(30), TTL
DATE, ALAMAT VARCHAR2(30), MASA_KERJA NUMBER,CODE_BAGIAN VARCHAR2(2),
PRIMARY KEY( id_code));
INSERT INTO karyawan
VALUES('100','RAHMAT','01-JAN-1976','RAWAMANGUN',3,'2A');
INSERT INTO karyawan VALUES('101','UDIN', '03-NOV-1978', 'JAPATI',
2,'2B');
INSERT INTO karyawan VALUES('102', 'BUDI', '15-APR-1980', 'LOMBOK', 5,
'3B');
INSERT INTO karyawan VALUES('103', 'WAWAN', '08-SEP-1975', 'SETIABUDI',
6,'3A');
CREATE TABLE BAGIAN(CODE_BAGIAN VARCHAR2(2),NAMA_BAGIAN
VARCHAR2(25),TIPE_BAGIAN VARCHAR2(25), KODE_DEPT VARCHAR2(1),PRIMARY
KEY(code_bagian));
INSERT INTO bagian VALUES('0','PT. KURNIA', 'PERS','-');
INSERT INTO bagian VALUES('1','DIREKTUR', 'DIR', '0');
INSERT INTO bagian VALUES('2', 'DEPT. MARKETING','DEPT','1');
INSERT INTO bagian VALUES('2A', 'SALES', 'BAG', '2');
INSERT INTO bagian VALUES('2B', 'PROMOSI','BAG', '2');
INSERT INTO bagian VALUES('3', 'PRODUKSI', 'DEPT', '1');
INSERT INTO bagian VALUES('3A', 'PROD. TV', 'BAG', '3');
INSERT INTO bagian VALUES('3B', 'PROD. AC', 'BAG', '3');
DROP TABLE izin_keluar purge
CREATE TABLE IZIN_KELUAR(ID_CODE VARCHAR2(3),TGL_IZIN DATE, LAMA_IZIN
NUMBER,PRIMARY KEY(id_code,tgl_izin));
INSERT INTO izin_keluar VALUES('100','01-APR-2009',2);
INSERT INTO izin_keluar VALUES('100','02-APR-2009',5);
INSERT INTO izin_keluar VALUES('101','05-APR-2009',1.5);
INSERT INTO izin_keluar VALUES('100','10-APR-2009', 1);
INSERT INTO izin_keluar VALUES('102','11-APR-2009', 3);
INSERT INTO izin_keluar VALUES('103','12-APR-2009', 5);
INSERT INTO izin_keluar VALUES('102','20-APR-2009', 2);
ini querynya
SELECT * FROM(
SELECT a.id_code, a.tgl_izin, b.code_bagian, ROW_NUMBER() over (ORDER BY
a.lama_izin DESC, b.MASA_KERJA)no
FROM izin_keluar a, karyawan b
WHERE a.id_code=b.id_code)
WHERE no=1
salam,
adhi
Kang Oyib <[email protected]>
Sent by: [email protected]
04/05/2009 11:25
Please respond to
[email protected]
To
[email protected]
cc
Subject
Re: [indo-oracle] Select Max Condition
Bagaimana cara penggunaan Having MAX yg valuesnya belum diketahui....?
Biasanya HAVING MAX(sum(ik.lama_izin)) = (harus ada valuenya)
Kalau menggunakan MAX(sum(ik.lama_izin)) seperti berikut :
SELECT
ik.id_code,ky.code_bagian,TO_CHAR(ik.tgl_izin,'MM-RRRR'),MAX(sum(ik.lama_izin))
FROM izin_keluar ik,
karyawan ky,
bagian bg
WHERE ky.id_code = ik.id_code
AND bg.code_bagian = ky.code_bagian
GROUP BY ik.id_code,ky.code_bagian,TO_CHAR(ik.tgl_izin,'MM-RRRR')
keluar error groupingnya.........
Ada solusi lain dari rekan sekalian...?
[Non-text portions of this message have been removed]