AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Vereinfachung einer Union Query wegen UniDac Problem
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Vereinfachung einer Union Query wegen UniDac Problem

Ein Thema von alphaflight83 · begonnen am 8. Okt 2009 · letzter Beitrag vom 12. Okt 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#1

SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 15: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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:05
Hast du die Query mit Fehlerbeschreibung schon an den Komponentenhersteller gemeldet?

Ansonsten: Wieso gibt es im zweiten Teil keine Spalten-Alias "Name"?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#3

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:14
Das fehlende Name war ein Copy Paste Fehler, das muss da natürlich rein.
Ich habs ins DevArt Forum gepostet, bisher aber noch keine Antwort erhalten,
werd ich später/morgen nochmal sehen müssen.
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:14
Versuche mal explizite Joins
Markus Kinzler
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#5

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:15
Zitat:
Gibt es vielleicht eine andere Möglichkeit um eine Bedingung in eine Abfrage einzubauen?
Ja, wenn z.B. das CASE Konstrukt unterstützt wird.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:19
Zitat:
Ja, wenn z.B. das CASE Konstrukt unterstützt wird.
Oder IIF(), IF(), ...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:25
Zitat von alphaflight83:
Das fehlende Name war ein Copy Paste Fehler, das muss da natürlich rein.
Und wie schauen die Spaltenbezeichnungen im MySQL Query Browser aus? Du hast ja auch noch unterschiedliche Alias-Reihenfolge was evtl. den MySQL-Server durcheinander bringt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#8

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:33
Unterschiedliche Alias-Reihenfolge? Ich verstehe nicht ...
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:36
Lass mal das as beim Tabellen-Alias weg
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#10

Re: SQL Vereinfachung einer Union Query wegen UniDac Problem

  Alt 8. Okt 2009, 16:41
Grade getestet, aber das AS beim Tabellen-Alias hat keine Auswirkung.
Ich probiere grade mal die CASE/IF Sache aus ...
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz