Hallo
Ich versuche gerade in ArcView3.2 eine SQL-Verbindung aus mehreren Tabellen einer Access-Datenbank zu erstellen, scheitere jedoch jedesmal am Primärschlüssel. Es werden immer alle Daten einer Tabelle mit allen Daten der anderen Tabelle verknüpft, was natürlich zu keinem Ergebnis führt und zudem eine unheimlich lange Rechenzeit mit sich bringt. Meine Frage ist nun, ob es überhaupt möglich ist, über SQL in ArcView mehrere Datenbanktabellen miteinander zu verknüpfen und wenn ja, was muss ich machen?
Herzlichen Dank,
Petra
Ich versuche gerade in ArcView3.2 eine SQL-Verbindung aus mehreren Tabellen einer Access-Datenbank zu erstellen, scheitere jedoch jedesmal am Primärschlüssel. Es werden immer alle Daten einer Tabelle mit allen Daten der anderen Tabelle verknüpft, was natürlich zu keinem Ergebnis führt und zudem eine unheimlich lange Rechenzeit mit sich bringt. Meine Frage ist nun, ob es überhaupt möglich ist, über SQL in ArcView mehrere Datenbanktabellen miteinander zu verknüpfen und wenn ja, was muss ich machen?
Herzlichen Dank,
Petra
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von KEngelberg am Mi., 26.01.2005 - 22:56
PermalinkWir brauchen Deinen SQL-Befehl, insbesondere den Teil < From ... LEFT | RIGHT JOIN .. ON ..=.. >
Klaus
Gespeichert von Gast am Do., 27.01.2005 - 09:40
PermalinkDanke für Deine Antwort.
Ich wollte die SQL-Verbindung über die Dialogbox erstellen und habe alle entsprechenden Daten ausgewählt, ohne spezielle Befehle einzugeben. Das funktioniert nicht, wie ich feststellen musste. Kann man auch in die Dialogbox SQL-Befehle eingeben und wenn ja, wie haben sie konkret auszusehen, wenn ich z.B. drei Spalten aus der ersten Tabelle mit drei Spalten aus einer zweiten Tabelle verknüpfen will, deren erste Spalten die gleichen Informationen enthalten?
Gruß,
Petra
Gespeichert von uwelangehh am Do., 27.01.2005 - 09:58
Permalinkim Falle einer 1:1 Beziehung sagt man:
SELECT Tabelle1.Feld1, Tabelle1.Feld2, Tabelle2.Feld1, Tabelle2.Feld2
FROM
Tabelle1
INNER JOIN
Tabelle2
ON Tabelle1.Id = Tabelle2.Id;
Bei einer n:1-Beziehung (Tabelle1 = To-Tabelle, Tabelle2 = From-Tabelle) nimmst du LEFT JOIN anstelle von INNER JOIN.
Gruss
Uwe
Gespeichert von Gast am Do., 27.01.2005 - 12:53
PermalinkDanke, hat funktioniert!
Gruss,
Petra