Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#1

[MySQL] Select ... where any like '%foo%'? Oder so?

  Alt 9. Aug 2011, 10:00
Datenbank: MySQL • Version: 4.1.9 • Zugriff über: UniDAC
Moin mal wieder. Ich möchte aus einer Tabelle eine ID anhand eines Teilstrings vorschlagen, der in einer Zeile in beliebiger Spalte vorkommen könnte, wobei Anzahl und Namen der Spalten unbekannt sind (bzw. beliebig, da auf frei wählbare Tabellen anwendbar (solang sie eine id-Spalte haben)).
Mir schwebte, so rein vom "Sprachgefühl" her sowas in der Art vor:
Code:
SELECT id FROM mytable WHERE ANY COLUMN LIKE '%substr%'
Scheint nicht zu klappen, war aber einen Versuch wert Dann versucht:
Code:
SELECT id, CONCAT_WS(',', *) val FROM mytable WHERE val LIKE '%substr%'
Das hat zwei Probleme: Wildcard im CONCAT() ist nicht, und selbst wenn ich via DESCRIBE ermittelte Spaltennamen einsetze, wird bemeckert, dass es die Spalte "val" nicht gäbe in der WHERE-Klausel.

Nach reichlich Rumprobieren und MySQL Referenz studieren daher nun die Frage an euch: Wüsste da jemand spontan, wie ich das realisieren könnte? Es ist ja im Grunde eine Art Volltextsuche in einer Tabelle. Ich hoffe einfach mal, dass das schon mal jemand hier gemacht hat
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat