Hallo,
ich habe jetzt eine PROCEDURE in IBExpert erstellt um eine Kreuztabelle auszugeben. Das Problem dabei ist, dass nur 1 Spalte ausgegeben wird.
SQL-Code:
SET TERM ^ ;
CREATE OR ALTER PROCEDURE PIVOTTABELLE (
ma_id2 varchar(5) character set win1252,
start1 timestamp,
ende1 timestamp,
maschiene varchar(5) character set win1252)
returns (
spalte1 double precision,
mw_datumuhrzeit timestamp)
as
declare variable loVariable varChar(5);
BEGIN
FOR
/* Hier mit werden die Messstellen ermittelt */
select distinct mw_msid from mw_tabelle into :loVariable
do
for
select mw_datumuhrzeit,sum (iif(mw_msid = :loVariable, MW_MW, 0))
From mw_tabelle
where (mw_msid = :loVariable)
and (MW_DatumUhrZeit between :start1 and :ende1)
group by mw_datumuhrzeit
INTO :MW_DATUMUHRZEIT,
:spalte1 do
SUSPEND;
begin
SUSPEND;
end
end^
SET TERM ; ^
GRANT SELECT ON MW_TABELLE TO PROCEDURE PIVOTTABELLE;
GRANT EXECUTE ON PROCEDURE PIVOTTABELLE TO SYSDBA;
Es wird zuerst die Messstellen ermittelt und anschließend als Spalte angezeigt.
Gibt es eigentlich irgendwo Beispiel-Code, wie man so etwas umsetzen kann?
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.