pak m4z3,
tampaknya pernyataan problem dan result set yg diinginkan 'kurang' jelas
bagi saya.
shg saya menduga MUNGKIN yang pak m4z3 maksudkan adalah begini:....

Asumsi saya:
 - ORDER_NO dan REL_NO (mungkin SEQUENCE juga) mengidentifikasi satu PROCESS
yang harus End-to-end.
 - Payment atas purchase diindikasikan LUNAS jika ada 2 row di View.
 - ORDER_NO, REL_NO, DIRECTION menunjukkan masuknya barang (+) dan adanya
pembayaran (-).
    shg jika hanya ada 1 row yg berisi ORDER_NO dan REL_NO dipastikan ROW
ini OUTSTANDING.
 - Payment dilaksanakan per ORDER_NO dan langsung LunaS atau QTY ORDERED (+)
= QTY PAYED(-)
 - Indikasi LUNAS (Bukan Outstanding) terdeteksi jika ada 2 row
   yang memiliki ORDER_NO dan REL_NO yang sama. Jika row ini memiliki tgl
tranx utk
   BULAN YG DIMINTA maka row ini DITAMPILKAN, sebaliknya row ini TIDAK
DITAMPILKAN (sbg result set).
 - Indikasi OUTSTANDING = jika hanya ada 1 row yang berisi ORDER_NO dan
REL_NO .


drop table tmp purge;
create table tmp (dated date, TRAN_CODE varchar2(10),
                  ORDER_NO NUMBER, REL_NO NUMBER);

ALTER SESSION SET NLS_DATE_FORMAT ='dd/mm/rr';
insert into tmp VALUES ('05-01-05', 'ARR-NONINV', 10256, 1);
insert into tmp VALUES ('28/02/05' ,'SUPPPAY', 10256, 1);
insert into tmp VALUES ('05/01/05','ARR-NONINV', 10256, 2);
insert into tmp VALUES ('28/02/05','SUPPPAY' , 10256, 2);
insert into tmp VALUES ('15/07/05', 'ARR-NONINV', 11213, 1);
insert into tmp VALUES ('30/07/05', 'SUPPPAY', 11213, 1);
insert into tmp VALUES ('30/07/05', 'ARR-NONINV', 21551, 1);
insert into tmp VALUES ('08/06/05', 'ARR-NONINV', 11111, 1);

Untuk bulan ini
   SQL> SELECT * FROM tmp WHERE TO_CHAR(dated,'rrrrmm') = '200507';

DATED    TRAN_CODE    ORDER_NO     REL_NO
-------- ---------- ---------- ----------
15/07/05 ARR-NONINV      11213          1
30/07/05 SUPPPAY         11213          1
30/07/05 ARR-NONINV      21551          1


Query ini menghasilkan result set semua yang outstanding, kecuali bulan-thn
yg diminta
utk bulan sampai dengan bulan-tahun ini, dapat dicoba yaa....
SQL>    SELECT order_no, rel_no, COUNT (*)    FROM tmp
  2   WHERE TO_CHAR(dated,'rrrrmm') <> '200507'
  3  GROUP BY (order_no, rel_no)
  4  HAVING COUNT (*) =1;

  ORDER_NO     REL_NO   COUNT(*)
---------- ---------- ----------
     11111          1          1

Sekarang result set itu dapat di UNION, namun dibawah ini saya gunakan
fungsi analitik
SQL> SELECT *
  2    FROM (
  3        SELECT dated, order_no,rel_no,
  4          COUNT(*) OVER (PARTITION BY order_no, rel_no) as chk
  5         FROM tmp)
  6    WHERE TO_CHAR(dated,'rrrrmm') = '200507' OR
  7       (chk =1 AND TO_CHAR(dated,'rrrrmm') <> '200507');

DATED      ORDER_NO     REL_NO        CHK
-------- ---------- ---------- ----------
08/06/05      11111          1          1
15/07/05      11213          1          2
30/07/05      11213          1          2
30/07/05      21551          1          1

ferry sends.

----- Original Message -----
From: "m4z3" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, October 19, 2005 11:54 AM
Subject: Re: [indo-oracle] Re: Cari record outstanding


> Yulius Wibowo said the following on 19/10/05 8:04 AM:
> > SQL> SELECT * FROM view_union_name
> > WHERE TO_CHAR(dated,'mm/yyyy') = TO_CHAR(SYSDATE,'mm/yyyy');
> >
> > CMIIW
> >
> > Bowo
>
> Klo sintak SQL spt ini yg muncul hanya 'dated' dibulan yg
> bersangkutan, tetap saya yg outstanding dibulan sebelumnya
> tdk muncul.
>
> --
> m4z3



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Fair play? Video games influencing politics. Click and talk back!
http://us.click.yahoo.com/T8sf5C/tzNLAA/TtwFAA/PhFolB/TM
--------------------------------------------------------------------~-> 

--
-----------I.N.D.O - O.R.A.C.L.E---------------
Keluar: [EMAIL PROTECTED]
Website: http://indo-oracle.lizt.org (NEW)
-----------------------------------------------

Bergabung dengan Indonesia Thin Client User Groups, 
Terminal Server, Citrix, New Moon Caneveral, di:
http://indo-thin.vze.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/indo-oracle/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Kirim email ke