![]() |
Datenbank: Mysql • Zugriff über: Zeos
MySql Abfrage über alle Spalten einer Tabelle
Hallo,
ich frag in meiner Anwendung folgendermassen ab:
Delphi-Quellcode:
Hier suche ich nur in der Spalte Dlan.
zquery1.SQL.Text := 'Select * from `aa_shopdaten` where `dlan` like ''' + edsearch.Text +'%'' order by `shopnr` ASC;';
Wenn ich mittels Concat mehrere Spalten zum Suchen auswähle, dann sucht er mir trotzdem nur in der ersten. Mit Where = 1 funktionert es ebenfalls nicht alle Spalten nach einem gewünschten Wort zu durchsuchen. Welchen Befehl muss ich verwenden. Die Mysql-Referenz arbeitet mit Match und Against. Gibt es keine eine Möglichkeit ähnlich einem " WHERE *" für alle Tabellen anzugeben? Danke Schubi |
Re: MySql Abfrage über alle Spalten einer Tabelle
Hast du es schon so versucht:
Delphi-Quellcode:
zquery1.SQL.Text := 'Select * from `aa_shopdaten` where `feld1` like ''' + edsearch.Text +'%'' or `feld2` like ''' + edsearch.Text +'%'' order by `shopnr` ASC;';
|
Re: MySql Abfrage über alle Spalten einer Tabelle
Hallo mkinzler,
so muss ich doch auch jede Spalte einzeln angeben, oder? Ich möchte ja z.Bsp. mit einem WildCard erreichen, daß er in allen Spalten sucht, ohne dass ich sie Explizit nennen muss, Gruss Schubi |
Re: MySql Abfrage über alle Spalten einer Tabelle
Wenn du das machen musst, hast du vermutlich einen Design-Fehler in deiner Datenbank.
|
Re: MySql Abfrage über alle Spalten einer Tabelle
Hallo Tubos,
was meinst du mit Designfehler, wass muss ich mit der Tabelle tun um mit welchem Select-Befehl alle Spalten auf einmal zu durchsuchen? Gruss Schubi |
Re: MySql Abfrage über alle Spalten einer Tabelle
Zitat:
Erklär doch mal, was du machen willst! Was ist in der Tabelle drinnen? |
Re: MySql Abfrage über alle Spalten einer Tabelle
Hi Tubos,
über ein Editfeld will ich die Datensätze filtern, in denen ein bestimmtes Wort vorkommt. Da ich vorher nicht weiss, in welcher Spalte dieses Wort steht, muss ich in allen Spalten suchen. Jetzt habe ich mir gedacht, alle Feldnamen aus der Tabelle zu holen, sie mit Komma trennen und in die Selectabfrage zur Laufzeit einzufügen, scheitere gerade an dem Einfügen der Kommas in die Stringliste. Gruss Schubi |
Re: MySql Abfrage über alle Spalten einer Tabelle
Habe es jetz ganz anders erledigt.
In eine Combobox hole ich mir alle Feldefinitionen rein und suche dann im Editfeld mittels Wildcard in der vorher ausgewählten Spalte. So kann ich wenigstens schon mal die Suche einschränken. Reicht ja auch. Danke an alle Gruß Schubi |
Re: MySql Abfrage über alle Spalten einer Tabelle
Ich würde gerne das Thema nochmal kurz hochholen,
denn würde jetztauch gerne darauf verzichten, ale spalten zu nennen ... Zu meinem Fall: Ich habe ein Textfeld in das der Benutzer mehrere Begriffe eingeben kann (durch leerzeichen getrennt). Jetzt will ich ihm alle Einträge in der Datenbank anzeigen, die in irgendweiner Spalte irgendeinen der Begriffe enthält. Wie mache ich das? Ich möchte nur seehhhr ungern eine Seitenlange SQL-Abfrage schicken mit unzähligen or's ... Danke schonmal :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz