Seite 1 von 1

SQL-Abfrage unmodifiziert belassen/Funktionen in Gruppierung

Verfasst: Do, 02.03.2006 07:15
von scholler
Hallo zusammen,

ich setze komplexe DB-Abfragen direkt unter SQL um.

1. Leider werden die SQL-Syntax von Base durch Aliases erweitert nachdem man von der Entwurfs- zur SQL-Ansicht zurückgekehrt ist. Kann dies verhindert werden?

2. Wie kann ich direkt von der Abfragen-Übersicht aus die SQL-Bearbeitung aufrufen. Derzeit muss ich immer über die Entwurfs-Ansicht rüberwechseln.

3. Bei korrekten und auch funktionierenden Parameterabfragen kann ich häufig nicht mehr in die SQL-Ansicht zurückkehren - Fehler in der SQL-Syntax erscheint.

4. Ich habe gerade folgende Abfrage generiert:

SELECT COUNT( * ), `ticket_history`.`ticket_id`, DATE_FORMAT(create_time, '%d.%m.%y %H:%i') as Zeitpunkt FROM `otrs`.`ticket_history` `ticket_history` WHERE ( ( `history_type_id` = 9 AND `name` LIKE '%Escalation%' ) ) GROUP BY `ticket_id`, DATE_FORMAT(create_time, '%d.%m.%y %H:%i') HAVING ( ( `ticket_id` = 656 ) )

Entscheidend ist: GROUP BY ticket_id, DATE_FORMAT(create_time, '%d.%m.%y %H:%i')

Base bringt einen Parse-Error, kann also die Abfrage nicht umsetzen, obwohl die Abfrage syntaktisch korrekt ist (funktioniert unter der MySQL-Konsole).
Dies ist ziemlich endtäuschen - was soll ich tun?
Hintergrund zur Abfrage: Ich habe in create_time eine Datums/Zeitangabe - alle Tabellenzeilen sollen Minuten-Genau (nicht sekundengenau wenn ich nur nach create_time gruppieren wüde) gruppiert werden - darum habe ich die Funktion genutzt.

Ich bin dankbar für jegliche Hinweise!

Gruß, Alexander

Vielleicht hilft folgendes:

Verfasst: Do, 02.03.2006 10:06
von fichte.buche
Hallo Alexander,

zu1:
Wenn du die Base-Datei geöffnet hast über das Menü "Bearbeiten"->"Datenbank" -> "Erweiterte Einstellungen..."
Hier den Hacken bei "Den Alias Namen ..." entfernen.

Leider hab ich das selber nicht ausprobiert und zu den anderen Punkten weiß ich auch nichts.

Viele Grüße
Schorsch

Verfasst: Do, 02.03.2006 10:57
von pmoegenb
Hallo Alexander,

ich kenne die Syntax von MySQL bei SQL nicht, deshalb verwirren mich die diversen Zeichen wie ' oder `.

Ich weiß nur, bei Base werden Bezeichner (Feldnamen, Tabellennamen etc.) mit " angeführt und beendet.

Gruß

Peter

Verfasst: Do, 02.03.2006 11:23
von scholler
Hallo Peter,

diese Zeichen habe nicht ich geschrieben, sondern von Base automatisch eingefügt, sobald ich von der Entwurfs- zur SQL-Ansicht zurückkehre.

Servus Schorsch,

besten Dank, genau mit dieser Einstellung läßt sich obiges Verhalten anscheinend deaktivieren.

Re: SQL-Abfrage unmodifiziert belassen/Funktionen in Gruppie

Verfasst: Fr, 03.03.2006 07:17
von scholler
Heureka ich hab's gefunden bzw. nachgelesen.

Wenn man in der SQL-Ansicht innerhalb der SQL-Symbolleiste "SQL-Befehl direkt ausführen" aktiviert wird anscheinend der Befehl ohne Interaktion durch Base direkt an die DB geliefert und meine obigen Punkte sollten sich damit erledigt haben.