SQLite-Klammer "funktioniert nicht"

8

In SQLite-Version 3.7.12.1 (Konsole) funktioniert diese Abfrage nicht:

%Vor%

Fehlermeldung

  

Fehler: nahe Linie 1: nahe "(": Syntaxfehler

Diese Abfrage funktioniert in SQL Server Management Studio. Andere Abfragen mit Klammern funktionieren wie erwartet. Fehle ich etwas?

Bearbeiten: um zu verdeutlichen:

%Vor%     
user1425798 30.05.2012, 10:41
quelle

2 Antworten

6

Scheint so, als ob SQLite kombinierte (Teil-) Abfragen nicht mag (solche mit UNION , UNION ALL , EXCEPT oder INTERSECT ), die geklammert werden:

  • Das funktioniert nicht :

    %Vor%
  • Dies funktioniert auch nicht :

    %Vor%

(Aber beide arbeiten in SQL Server."

Und ohne Klammern werden die einzelnen Subselects sequentiell kombiniert, d.h. es gibt keine inhärente Priorität für irgendeinen der Operatoren wie in einigen anderen SQL-Produkten. (Zum Beispiel, das

%Vor%

gibt 1 in SQL Server zurück (weil INTERSECT zuerst ausgeführt wird) und nicht in SQLite."

Die einzige Problemumgehung scheint darin zu bestehen, die Teile, die Sie kombinieren möchten, als Unterabfragen wie folgt zu verwenden :

%Vor%     
Andriy M 31.05.2012, 07:06
quelle
1
%Vor%     
triclosan 30.05.2012 10:44
quelle

Tags und Links