ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
335
335
EMPFEHLEN
-
Hallo zusammen,
ich habe folgende SQL-Abfrage:
Die Abfrage klappt soweit auch. Schlussendlich möchte ich von jeder abgefragten Kalenderwoche eine Anzahl wissen. Falls jedoch in einer Woche kein Eintrag in der Tabelle ist, dann liefert mir MySQL auch nichts. Stattdessen möchte ich jedoch gerne 0 haben. Wie kann ich das umsetzen?Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
SELECT SUM(count_condition_id) AS sum_cci, YEAR, KW, condition_id FROM alarmrankings WHERE dienst = 'foobar' AND ( condition_id = 'c706bac2-14ee-71d8-07ec-0a0104150000' OR condition_id = 'c7166044-14ee-71d8-07ec-0a0104150000' ) AND ( ( KW = '39' AND YEAR = '2006' ) OR ( KW = '40' AND YEAR = '2006' ) OR ( KW = '41' AND YEAR = '2006' ) OR ( KW = '42' AND YEAR = '2006' ) OR ( KW = '43' AND YEAR = '2006' ) OR ( KW = '44' AND YEAR = '2006' ) OR ( KW = '45' AND YEAR = '2006' ) OR ( KW = '46' AND YEAR = '2006' ) OR ( KW = '47' AND YEAR = '2006' ) ) GROUP BY condition_id, YEAR, KW ORDER BY YEAR ASC, KW ASC, condition_id ASC
Die Ausgabe bisher sieht so aus:Die fehlenden Wochen sollen aber mit 0 gespeichert werden.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Array ( [c706bac2-14ee-71d8-07ec-0a0104150000] => Array ( [39] => 1271 [40] => 1494 [41] => 1820 [42] => 1634 ) [c7166044-14ee-71d8-07ec-0a0104150000] => Array ( [39] => 1271 [40] => 1494 [41] => 1818 [42] => 1641 ) )
-
Hallo Paula,
eine Datenbank kann dir nur Ergebnisse zurückliefern, die auch aus den Daten der Datenbank ableitbar sind.
Wenn es , wie in deinem Fall, für bestimmt Wochen keinen Eintrag gib, kannst du mit der einer SQL Abfrage diese variablen Werte auch nicht in einem Schritt darstellen.
Wenn du den Select in einer anderen Sprache (Java, PHP) integrieren würdest, könntest du dort die fehlende Werte ergänzen.
Gruß
Harald
-
Hallo Paula,
falls ein Programm (php o. ä., wie von Harald vorgeschlagen) für Dein Problem nicht zweckmässig sein sollte, könntest Du mal folgendes versuchen. Ich habe hier kein MySQL verfügbar, aber mit einer Gupta-DB (kompatibel zu DB2) funktioniert dieses:
Code sql:1
SELECT IFNULL( SUM(count_condition_id), 0 ) AS ...
Gruß,
SparksIch stehe direkt am Abgrund, aber morgen bin ich schon einen Schritt weiter. ;-)
-
Danke schonmal für eure Antworte. Sparks klappt leider nicht. Es kommt aber auch zu keiner Fehlermeldung!
Ich habe es nun mit einer PHP-Schleife realisiert, aber eine SQL-Lösung wäre mir schon lieber gewesen.PHP-Code:// nicht vorkommende Kalenderwochen einer condition_id werden mit 0 hinzugefuegt
foreach( $arr as $cids => $cids_value ) {
foreach( $getGraphWeeks['weeks'] as $i ) {
if( empty( $arr[$cids][$i] ) ) {
$arr[$cids][$i] = 0;
}
}
ksort( $arr[$cids] );
}
ksort( $arr );
-
01.12.06 14:43 #5
Hast du dir das Ergebnis mal in phpmyadmin angeschaut? Vielleicht gibt es da ja Abweichungen.
Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x
-
Ich hatte es mir im MySQL Query Browser angeschaut.
Ähnliche Themen
-
Suchmaschinenrobots zeigen, welche Seite gefunden werden soll und welche nicht
Von cyphernnc im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 30.12.10, 13:08 -
Länge des Response wird nicht richtig zurückgegeben
Von Johannes7146 im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 13.10.09, 09:33 -
String wird nicht zurückgegeben
Von maxn im Forum PHPAntworten: 6Letzter Beitrag: 25.04.08, 09:31 -
url wird von datenbank nicht richtig zurückgegeben.
Von glader im Forum PHPAntworten: 1Letzter Beitrag: 12.04.06, 22:36 -
Arraydaten aus einer Funktion werden nicht zurückgegeben?
Von cameeel im Forum PHPAntworten: 6Letzter Beitrag: 26.12.05, 23:11





Zitieren
Login





