moonsister Geschrieben 19. Oktober 2006 Teilen Geschrieben 19. Oktober 2006 Hi, kann mir jemand sagen, wie ich mehrere Tabellen aus einer DB auswählen kann? Es geht um eine Adressüberprüfung. Für jeden Vorwahlbereich gibt es eine Tabelle (name z.b kiel_431, kiel_432 usw.) mit den dort befindlichen Strassennamen. Der User gibt seine Strasse, plz, ort, vorwahl ein, und wenn nicht die genaue Strasse ermittelt werden kann, dann soll er die ersten 3 Buchstaben der Strasse nehmen, und in allen Tabellen suchen, die den Ortsnamen enthalten. z.B. Select * from Database where table_name like 'kiel' AND strasse like 'Alt%'; Ich denke. dass das so ähnlich aussehen müsste, aber bekomme immer einen Syntaxfehler. :| Oder muss man das irgendwie schachteln? Vielen Danke für Hilfe, Mara Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Joe Kinley Geschrieben 19. Oktober 2006 Teilen Geschrieben 19. Oktober 2006 Select * from table_name where ort like 'kiel' AND strasse like 'Alt%'; So waers richtiger Schau dir nochmal allgemein Select Statements an, und wie diese aufgebaut werden sollten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 19. Oktober 2006 Teilen Geschrieben 19. Oktober 2006 Man muss jede Tabelle einzelnd abfragen. Du könntest über einen union die Ergebnisse dann zusammenpacken. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
moonsister Geschrieben 19. Oktober 2006 Autor Teilen Geschrieben 19. Oktober 2006 So waers richtiger Schau dir nochmal allgemein Select Statements an, und wie diese aufgebaut werden sollten. ja, so hab ich das Statement ja, wenn ich die normale Abfrage mach Ich meinte nur irgenwo gesehen zu haben, dass man die Tabellen abfragen kann, und als Filter die Eigenschaften der Tabellennamen (z.B. table_name) benutzen kann. Aber ich konnte es nicht mehr finden, auch im MySQL Handbuch nicht. Einzeln abfragen....na dann bleibt mir wohl nix andres übrig, als das so zu machen :/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 19. Oktober 2006 Teilen Geschrieben 19. Oktober 2006 ich glaube ich verstehe was gemeint ist: du hast für jeden telefonvorwahlbereich eines ortes eine eigene tabelle. wenn du MySQL ab version 5 verwendest, könnst du ein subquery machen und ort sowie vorwahl zusammenkonkatenieren: Select * from Database where table_name = (select CONCAT(ort, '_', vorwahl) from vorwahlen ....) AND strasse like 'Alt%'; allerdings ist obiges ungetestet und ich frage mich, ob es sinn macht, vorwahlbereiche eines ortes in separate tabellen auszulagern. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
moonsister Geschrieben 19. Oktober 2006 Autor Teilen Geschrieben 19. Oktober 2006 ich glaube ich verstehe was gemeint ist: du hast für jeden telefonvorwahlbereich eines ortes eine eigene tabelle. wenn du MySQL ab version 5 verwendest, könnst du ein subquery machen und ort sowie vorwahl zusammenkonkatenieren: allerdings ist obiges ungetestet und ich frage mich, ob es sinn macht, vorwahlbereiche eines ortes in separate tabellen auszulagern. s'Amstel Ja, genau richtig verstanden! Version muss ich mal nachschauenn. Die Tabellenstruktur kann ich im Nachhinein nicht mehr ändern, die ist schon so hier vorhanden. Es geht um Telefeonanschlussverfügbarkeit, daher macht es denk ich schon Sinn, das nach den Vorwahlbereichen aufzuteilen. Ansonsten hätte man ja eine ewig lange Tabelle mit allen Strassennamen. Aber meine Erfahrung mit derart großen Datenmengen ist auch bregrenzt. Jedenfalls danke für die Tips! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 23. Oktober 2006 Teilen Geschrieben 23. Oktober 2006 wenn du MySQL ab version 5 verwendest... MySQL kann ab Version 4.1.0 Subselects Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 23. Oktober 2006 Teilen Geschrieben 23. Oktober 2006 MySQL kann ab Version 4.1.0 Subselects sorry. dann hatte ich das mit einer anderen funktionalität verwechselt, die erst ab 5 einsetzbar ist. :floet: s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.