MySQL Dump


#1

Moin,
wie kann ich mit mysqldump ein select-Ergebnis speichern als dumpfile?
Ich weiß, dass generell die Syntax mit --where="…" funktioniert, aber der u.a. select wird von mysqldump verweigert, möglicherweise weil der String nicht direkt ausgeführt wird, sondern als where select… interpretiert. Wie komme ich trotzdem zu meinem gewünschten Dump?

–> [SQL]mysqldump mybase -uich -pgeheim --where=“select distinct * from tab1 group by mynr having block1 > 1500000 and myvar = 0 and count(mynr)>1”[/SQL]

Auch ein Semikolon vor dem schliessenden " hilft nicht. Wo liegt mein Denkfehler, wie funktioniert es?


#2

mach mal ohne select * FROM und nimm nur den Rest


#3

Funktioniert natürlich auch nicht. Ausserdem habe ich kein select * from sondern select distinct * from. Das group by wird die Sache auch nicht gerade erleichtern.


#4

das geht nicht weil du da ja auch kein wirklichen dump machst :wink:

Du musst da wohl einen anderen Weg nehmen.
Erzeug dir ne Temporäre Tabelle und für die Daten die du haben willst da ein
unter PostgreSQL würde es so aussehen
[SQL]
CREATE TEMP TABLE temptab AS select distinct * from tab1 group by mynr having block1 > 1500000 and myvar = 0 and count(mynr)>1;
[/SQL]