Konvertieren von TSQL in MS-Access SQL

8

TSQL (wie in MS SQL Server 2000 und 2005 verwendet) erlaubt mehrere JOIN-Klauseln, eine direkt nach der anderen, keine Kommas oder Klammern erforderlich. Versuchen Sie dies in Access und es wirft eine Passform: "Syntaxfehler (fehlender Operator) im Abfrageausdruck ..."

Nach dem, was ich in Google-Land sammeln konnte, möchte Access SQL Klammern, um die JOIN-Klauseln zu gruppieren. Die meisten Ratschläge, wie dies zu erreichen ist, verwenden Sie die Entwurfsansicht oder den Abfrage-Assistenten und lassen Sie Access herausfinden, wo die Klammern gesetzt werden sollen (die in Standard-SQL NICHT benötigt werden). Das Problem ist, ich bin so daran gewöhnt, meine SQL in einem Texteditor (Notepad, SSMS, VS2005, was auch immer) zu machen, dass die Designansicht und der Assistent in die Quere kommen und mein Skin kriechen. Manchmal machen die Assistenten schlechte Annahmen über das, was beitreten soll, wenn es mehrere Möglichkeiten gibt, und ich bin es so gewöhnt, es selbst in TSQL zu tun, dass ich lieber die Assistenten draus lassen würde.

Gibt es kein Tool, das TSQL in Access SQL konvertiert oder zumindest eine Reihe von Regeln, wo die Klammern gesetzt werden?

Beispiel:

%Vor%     
Joe Ballard 27.04.2009, 18:22
quelle

2 Antworten

2

Yah, MS-Access ist dumm.

Ich glaube nicht, dass es einen gibt (wahrscheinlich kein riesiger Markt, um von MS-SQL / TSQL zu MS-Access zu gehen). Normalerweise verwende ich die Design-Ansicht, die für mich nicht wirklich ein Assistent ist. Ich füge dann manuell die Tabellen hinzu und erstelle dann (wenn ich kein korrektes Beziehungsschiffendiagramm erstellt habe, oder etwas ist etwas unkonventionell) die Beziehungen im Designer manuell. Danach überprüfe ich die Abfrage in der SQL-Ansicht und korrigiere gegebenenfalls.

Im Fall Ihres Beispiels (wie Sie angegeben haben) benötigen Sie wahrscheinlich die Klammer und müssen sie manuell hinzufügen. Sie wollen wahrscheinlich so etwas:

%Vor%

(Wenn Sie N innere Joins haben, benötigen Sie am Anfang N-1 öffnende Klammern und am Ende jedes Joins eins; das letzte ausgenommen)

    
BIBD 27.04.2009, 20:01
quelle
0

Dies funktioniert in Access.

%Vor%

Wie Sie sehen können, sind die zu verbindenden Tabellen zusammen gruppiert.

    
Fionnuala 27.04.2009 23:08
quelle