AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySql Abfrage über alle Spalten einer Tabelle
Thema durchsuchen
Ansicht
Themen-Optionen

MySql Abfrage über alle Spalten einer Tabelle

Ein Thema von drschubi · begonnen am 17. Mai 2006 · letzter Beitrag vom 24. Jun 2007
Antwort Antwort
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#1

MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 15:56
Datenbank: Mysql • Zugriff über: Zeos
Hallo,

ich frag in meiner Anwendung folgendermassen ab:
  zquery1.SQL.Text := 'Select * from `aa_shopdaten` where `dlan` like ''' + edsearch.Text +'%'' order by `shopnr` ASC;'; Hier suche ich nur in der Spalte Dlan.

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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 16:03
Hast du es schon so versucht:
zquery1.SQL.Text := 'Select * from `aa_shopdaten` where `feld1` like ''' + edsearch.Text +'%'' or `feld2` like ''' + edsearch.Text +'%'' order by `shopnr` ASC;';
Markus Kinzler
  Mit Zitat antworten Zitat
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#3

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 16:08
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
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#4

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 16:16
Wenn du das machen musst, hast du vermutlich einen Design-Fehler in deiner Datenbank.
Lukas
  Mit Zitat antworten Zitat
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#5

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 16:20
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
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#6

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 17:41
Zitat:
wass muss ich mit der Tabelle tun um mit welchem Select-Befehl alle Spalten auf einmal zu durchsuchen?
Das geht in SQL nicht. Oder, besser gesagt: ich bin mir sicher dass es nicht geht, da ich von sowas noch nie gelesen habe.

Erklär doch mal, was du machen willst! Was ist in der Tabelle drinnen?
Lukas
  Mit Zitat antworten Zitat
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#7

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 18:06
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
  Mit Zitat antworten Zitat
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#8

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 17. Mai 2006, 18:47
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
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: MySql Abfrage über alle Spalten einer Tabelle

  Alt 24. Jun 2007, 22:53
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz