Erstellen von MySQL View mit UNION

9

Ich versuche, eine Sicht für die folgende Abfrage zu erstellen.

%Vor%

Aber nicht dazu in der Lage. Ich benutze MySql Query Browser. Der Fehler, den ich bekomme, ist:

  

Eine Ansicht kann nur aus einer aktiven Ergebnismenge des SELECT-Befehls

erstellt werden

Kann mir bitte jemand dabei helfen?

    
Tomalak 05.02.2009, 06:34
quelle

5 Antworten

5
%Vor%

Ich habe es versucht und es hat funktioniert! Danke an alle:)

    
aLL0i 05.02.2009 09:34
quelle
3

Sie können die Reihenfolge von Benutzer-ID und Standort in der zweiten Auswahl ändern. Die Spaltennamen sollten in allen Selektionen der Union mit 1 zu 1 übereinstimmen.

EDIT: Für Abfrage-Browser, als diese weist darauf hin, "zu erstellen eine Sicht aus einer Query, müssen Sie die Query erfolgreich ausgeführt haben, genauer gesagt, die View wird aus der letzten erfolgreich ausgeführten Query erzeugt, nicht unbedingt aus der Query, die sich gerade im Query Area "

befindet

Sie müssen die Abfrage zuerst ausführen, bevor Sie die Ansicht im Abfrage-Browser erstellen.

Der Fehler stammt vom Abfrage-Browser und nicht von mysql.

    
Learning 05.02.2009 06:38
quelle
1

Sie haben verschiedene Typen, die in derselben Spalte enthalten sind. (Die Namen können unterschiedlich sein, aber die Typen müssen gleich oder zumindest automatisch umsetzbar sein.) Aber wie @Learning darauf hinweist, sieht es so aus, als hätten Sie die SELECT-Spaltenaufzählungen verdreht.

Nur für den Fall, die richtige Syntax (die für mich funktionierte) ist

%Vor%     
dkretz 05.02.2009 06:42
quelle
1

Nur eine kleine Bemerkung über UNION. UNION gibt nur die eindeutigen Werte der Ergebnismenge zurück. Es ist also nicht notwendig, SELECT DISTINCT in Verbindung mit einer UNION zu verwenden. Wahrscheinlich besser für die Leistung, um auch DISTINCT nicht zu verwenden.

Weitere Informationen zu UNION finden Sie hier: Linktext

    
Nidjarow 05.02.2009 11:24
quelle
0

Die Fehlermeldung ist in "QueryBrowser.pas", Teil von mysql-gui-tools .

%Vor%

Es wird ausgelöst, indem a) keine aktive Ergebnismenge und b) die Abfrage den falschen Typ hat.

Macht das Entfernen des "DISTINCT" einen Unterschied? In jedem Fall ist dies ein Fehler in QueryBrowser und nicht in einem MySQL. Das Erstellen der Ansicht direkt in MySQL sollte als Workaround genügen.

    
Tomalak 05.02.2009 08:57
quelle

Tags und Links