Einzelnen Beitrag anzeigen

spaniac

Registriert seit: 28. Jan 2010
20 Beiträge
 
#11

Re: Berechnung zwischen mehreren SQL-Statements

  Alt 18. Mär 2010, 12:54
so, ich bin jetzt endlich dazu gekommen, weiter zu arbeiten.

Ich fasse noch einmal zusammen:

Das Statement für die Berechnung lautet bisher:

SQL-Code:
select e.datum, e.intervall, sum(e.wert) +

( select sum(f.wert)
from element f
where f.typ_id = 18
AND f.datum = '2010-01-26'
AND f.pilot_id = 55
AND f.datum = e.datum
AND f.intervall = e.intervall
) ergebnis

from element e
where e.typ_id =18
AND e.pilot_id =55
AND e.datum = '2010-01-26'

group by e.datum, e.intervall
ich habe hierfür einen stored procedure angelegt, und deren die parameter jetzt so eingerichtet, dass die pilot_id abhängig von dem parameter "in_bereich" aus einer weiteren tabelle "config" ausgelesen wird. die parameterübergabe habe ich mit einem einfachen select bereits erfolgreich getestet:

SQL-Code:
DELIMITER $$

DROP PROCEDURE IF EXISTS `sl7030` $$
CREATE PROCEDURE `sl7030`(in_bereich VARCHAR(45), in_startdate DATE, in_enddate DATE)
    READS SQL DATA
BEGIN
  DECLARE used_pilots VARCHAR(45);

  SELECT pilots
  INTO used_pilots
  FROM config c
  WHERE c.bereich=in_bereich;


  SELECT e.datum, e.intervall, e.wert, e.pilot_id
  FROM element e
  WHERE e.typ_id =18
  AND e.pilot_id IN (used_pilots)
  AND e.datum BETWEEN in_startdate AND in_enddate;


END $$

DELIMITER ;
soweit ist auch alles einwandfrei, nur stellt sich mir jetzt die frage, wie ich die verschiedenen tabellen zur berechnung heranziehe, da das erste statement ja nur die spalte "wert" aus beiden tabellen addiert.

Wie würde ich jedoch umsetzen, dass sum(wert) von tabelle#1 + sum(wert) von tabelle#2 / sum(wert) von tabelle#3 usw. berechnet wird?

kann ich diese einfach als "ergebnis#1", "ergebnis#2" usw. deklarieren und nachher meine berechnung durchführen?
  Mit Zitat antworten Zitat