Einzelnen Beitrag anzeigen

Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
147 Beiträge
 
Delphi 10.4 Sydney
 
#1

SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 14:59
Datenbank: MySQL • Zugriff über: UniDAC
Hallo,
ich habe momentan ein Problem mit einer Union Query, die bei UNIDac einen Assertion Failure verursacht.
Wie im SQL zu sehen, werden die selben Tabellen verwendet, lediglich die WHERE Klauseln unterscheiden,
ob die Werte der Spalten Partial und Total dividiert werden oder nicht.

SQL-Code:
(SELECT
  T1.ID AS Name,
  T1.Partial DIV 3600 AS Partial,
  T1.Total DIV 3600 AS Total,
  T2.Unit AS Unit
FROM Tabelle1 AS T1, Tabelle2 AS T2
WHERE T1.ID = T2.ID
  AND T2.Unit = 'hours')
UNION
(SELECT
  T1.ID AS Name,
  T1.Partial AS Partial,
  T1.Total AS Total,
  T2.Unit AS Unit
FROM Tabelle1 AS T1, Tabelle2 AS T2
WHERE T1.ID = T2.ID
  AND T2.Unit = '')
ORDER BY
  Name ASC
LIMIT 10000
Wie gesagt, verursacht die Abfrage einen UniDac Fehler, im MySQL Query Browser funktioniert sie ohne Probleme.
Meiner Meinung nach wird der Fehler durch das UNION ausgelöst, alle anderen Queries verursachen keine Fehler.
Gibt es vielleicht eine andere Möglichkeit um eine Bedingung in eine Abfrage einzubauen?

Grüße, Alphaflight
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat