Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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 :/

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

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!

wenn du MySQL ab version 5 verwendest...

MySQL kann ab Version 4.1.0 Subselects ;)

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.