Einzelnen Beitrag anzeigen

trialfreak

Registriert seit: 19. Okt 2003
24 Beiträge
 
Delphi 6 Professional
 
#1

SQL: UNION-Befehl (mySQL-Fehler?)

  Alt 19. Okt 2003, 03:33
Hallo!

Es geht um folgende SQL-Anweisung:

SQL-Code:
SELECT 'Projekteas 'Info', COUNT(*) as 'Anzahlfrom foprosql
UNION
SELECT 'Gutachten', COUNT(*) from gutachten
UNION
SELECT 'Beiträge', COUNT(*) from beitrag
UNION
SELECT 'Gäste', COUNT(*) from gast
UNION
SELECT 'Institute', COUNT(*) from institute
UNION
SELECT 'Poster', COUNT(*) from poster
UNION
SELECT 'Veranstaltungen', COUNT(*) from veranstaltung
UNION
SELECT 'Zusammenarbeit Ausland', COUNT(*) from wza
UNION
SELECT 'Zusammenarbeit Inland', COUNT(*) from wzi
UNION
SELECT 'Forum Pflanze:', COUNT(*) from forum_pflanze
Bei der Rückgabe vom Server werden die jeweiligen fest übergebenen Strings nach 8 Zeichen, welches der Länge des ersten fest übergegebenen Feldes darstellt, einfach abgeschnitten.
Ich denke, dass das ganze vielleicht mit der Union-Anweisung und den festen Strings zusammenhängt.

Reproduzierbar ist das Ganze mit folgender einfacher SQL-Anweisung (ohne Tabellenbezug zum Ausprobieren):

SQL-Code:
SELECT 'abcd'
UNION
SELECT '1234567890'
Eigentlich erwarte ich hier eine Rückgabe in folgender Form:
abcd
1234567890

Tatsächlich erhalte ich aber folgende Rückgabe:
abcd
1234


Wie bereits erwähnt ist die Länge der rückgegebenen Spalte nur so lang wie die Anzahl der Zeichen des in ' ' übergebeben Textes.


Das ganze passiert auch bei echten Abfragen in Verbindung mit Union:

SQL-Code:
SELECT '1234'
UNION
SELECT irgendwas FROM tabelle
Die Rückgabe der Spalte ist nun immer höchstens 4 Zeichen lang.

Wo liegt der Fehler? Oder liegt es an mySQL (4.0.15)

Danke für Hilfe,
Christian
  Mit Zitat antworten Zitat