Re: Can I do cross-tab query in Oracle
From: Jan-Erik Rosinowski <spamfilter_at_rosinowski.de>
Date: Fri, 10 Mar 2000 21:51:12 GMT
Message-ID: <38c96a66.39857782_at_News.CIS.DFN.DE>
DOSSIER.T_DOKUMENTATTRIBUTWERTE
--WHERE DOKUMENTID=22220
WHERE
ATTRIBUTCODE IN ( 'KUNDECODE','NAME1','NAME2','NAME3','ANSCHRIFT1','ANSCHRIFT2','STAAT','PLZ','ORT', 'ANSPRECHPARTNER','ANREDETEXT','TELEFONZENTRALE','TELEFONDIREKT','FAX','BEMERKUNG' )
GROUP BY
DOKUMENTID ciao, jan
Date: Fri, 10 Mar 2000 21:51:12 GMT
Message-ID: <38c96a66.39857782_at_News.CIS.DFN.DE>
>Can anybody tell me if there is speical form of SQL in Oracle for cross-tab
>query?
take this example where i'm converting WERTs to columns, dependant on the value of ATTRIBUTCODE. the hint enforces the usage of the index on (dokumentid,attributcode,wert)
SELECT /*+ INDEX(T_DOKUMENTATTRIBUTWERTE I_DIDACWERT) */ DOKUMENTID,
MAX(DECODE(ATTRIBUTCODE,'KUNDECODE',WERT)) KUNDECODE, MAX(DECODE(ATTRIBUTCODE,'NAME1',WERT)) NAME1, MAX(DECODE(ATTRIBUTCODE,'NAME2',WERT)) NAME2, MAX(DECODE(ATTRIBUTCODE,'NAME3',WERT)) NAME3, MAX(DECODE(ATTRIBUTCODE,'ANSCHRIFT1',WERT)) ANSCHRIFT1, MAX(DECODE(ATTRIBUTCODE,'ANSCHRIFT2',WERT)) ANSCHRIFT2, MAX(DECODE(ATTRIBUTCODE,'STAAT',WERT)) STAAT, MAX(DECODE(ATTRIBUTCODE,'PLZ',WERT)) PLZ, MAX(DECODE(ATTRIBUTCODE,'ORT',WERT)) ORT, MAX(DECODE(ATTRIBUTCODE,'ANSPRECHPARTNER',WERT)) ANSPRECHPARTNER, MAX(DECODE(ATTRIBUTCODE,'ANREDETEXT',WERT)) ANREDETEXT, MAX(DECODE(ATTRIBUTCODE,'TELEFONZENTRALE',WERT)) TELEFONZENTRALE, MAX(DECODE(ATTRIBUTCODE,'TELEFONDIREKT',WERT)) TELEFONDIREKT, MAX(DECODE(ATTRIBUTCODE,'FAX',WERT)) FAX, MAX(DECODE(ATTRIBUTCODE,'BEMERKUNG',WERT)) BEMERKUNGFROM
DOSSIER.T_DOKUMENTATTRIBUTWERTE
--WHERE DOKUMENTID=22220
WHERE
ATTRIBUTCODE IN ( 'KUNDECODE','NAME1','NAME2','NAME3','ANSCHRIFT1','ANSCHRIFT2','STAAT','PLZ','ORT', 'ANSPRECHPARTNER','ANREDETEXT','TELEFONZENTRALE','TELEFONDIREKT','FAX','BEMERKUNG' )
GROUP BY
DOKUMENTID ciao, jan
rs&p-Dossier, die Software zur Erstellung technischer Dokumentationen
und Schriftgutes in Verwaltung und Industrie. Received on Fri Mar 10 2000 - 22:51:12 CET
