Veröffentlicht 31. März 200817 j Servus, ich habe wieder ein Problem, bzw. ich hab grad ne denkblockade, deswegen frag ich mal hier. Also ich hab 2 Tabellen. In beiden stehen ähnliche Daten, die Tabellen haben aber eine unterschiedliche Herkunft. Ich möchte jetzt prüfen welche Datensätze von der einen Tabelle in der anderen drin sind. Jetzt gibt es 2 Spalten die es in beiden Tabellen gibt. und zwar sind das Ortsnamen. Dabei gibt es nur das Problem, dass in der einen Tabelle der Ortsname als Kürzel hinterlegt ist, also z.B. "FRA" für Frankfurt, in der anderen Tabelle jedoch ein Join vorliegt. Dort steht also z.B. "1234". Das ist eine ID über die ich in einer Orts-Tabelle das Kürzel bekomme. Wie würde jetzt das SQL-Statement aussehen um zu prüfen welche Datensätze aus der Tabelle1 es auch in der Tabelle2 gibt bezogen auf das Ort-Attribut. Zur Vereinfachung: Also es gibt die Tabellen Tabelle1 Tabelle1ID TabelleOrt
31. März 200817 j Hi, du musst einfach nur über alle 3 Tabellen joinen: SELECT a.* FROM tabelle1 a, tabelleid ids, tabelleort ort WHERE ids.id=ort.id AND ort.ortname=a.ortname Die Spaltennamen musst natürlich entsprechend anpassen. Dim
31. März 200817 j Ich kann nur den Tipp geben, dass manchmal der Join über Stringfelder auch kleine Fußangeln hat: Case-(In)Sensitive Schreibweise, Leerzeichen, Umlaute usw. Sollte man beim Join berücksichtigen und ggf. auch eine Indizierung passend für die die Felder wählen Phil
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.