Einzelnen Beitrag anzeigen

Chaoten-Joe

Registriert seit: 11. Mär 2007
Ort: Werl
41 Beiträge
 
Turbo Delphi für Win32
 
#1

SQL liefert bei UNION kein Ergebnis, wenn Ergebnis = Null

  Alt 1. Jun 2009, 23:40
Datenbank: Paradox • Zugriff über: BDE
Hallo zusammen,

habe schon verschiedene Beiträge zu meinem Problem nachgelesen, aber nichts gefunden, was irgendwie passte oder umsetzbar war. Es geht um folgendes:
Ich habe eine Tabelle mit Projekten, in denen unter anderem vermerkt ist, ob es aktiv ist und seit wann die Planungen laufen. Ich möchte in einem DBChart darstellen:
  • alle aktiven Projekte, vor weniger als einem Jahr begonnen
  • alle aktiven Projekte, vor mehr als einem Jahr begonnen
  • alle inaktiven Projekte, vor weniger als einem Jahr begonnen
  • alle inaktiven Projekte, vor mehr als einem Jahr begonnen

Die Abfrage mache ich mittels SQL und Union. Das Problem ist nur, wenn bei einer der vier Abfragen die Ergebnismenge Null ist, wird nicht Null ausgegeben, sonden eben gar nichts. Es könnte (und wird) also sein, dass weniger als 4 Ergebnisse vorliegen ... nur wie bekomme icrh heraus, welche der vier Abfragen kein Ergebnis lieferte?

Delphi-Quellcode:
Select Count(Bearbeitung) AS Anzahl
FROM Projekte
WHERE Bearbeitung <= '+QuotedStr(DateToStr(Date-365))+and Aktiv = "True"
UNION Select Count(Bearbeitung) AS Anzahl
FROM Projekte
WHERE Bearbeitung <= '+QuotedStr(DateToStr(Date-365))+and Aktiv = "False"
UNION Select Count(Bearbeitung) AS Anzahl
FROM Projekte
WHERE Bearbeitung > '+QuotedStr(DateToStr(Date-365))+and Aktiv = "True"
UNION Select Count(Bearbeitung) AS Anzahl
FROM Projekte
WHERE Bearbeitung > '+QuotedStr(DateToStr(Date-365))+and Aktiv = "False"
Bekomme ich nicht heraus, welche der vier Abfragen die Nullmege(n) entält/enthalten, kann ich die Beschriftungen beim DBChart nicht korrekt setzen.

Die Lösung ist wahrscheinlich ganz banal. Habe auch schon mit INNER JOIN probiert, aber nix gut.

Vielen Dank vorab!
Christian Becker
  Mit Zitat antworten Zitat