![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS
WHERE über alle Felder
Hallo zusammen,
wie kann ich eine WHERE Klausel über alle Felder machen ohne jedes Einzelne anzugeben? Also sowas wie
SQL-Code:
leider funktioniert dies so nicht. Weis jemand wie ich das schaffe?
SELECT * FROM Tabelle
WHERE * LIKE "%Suchbegriff%" MfG Angel4585 |
Re: WHERE über alle Felder
Zitat:
ich fürchte das es nicht gehen wird. Du musst schon die Felder angeben. |
Re: WHERE über alle Felder
hmm.. OK.. aber die Frage wars Wert... THX Sharky :dp:
:angel: MÖÖÖPPP Wie sieht dann das Statement aus?
SQL-Code:
scheint nicht zu gehen.
SELECT * FROM Tabelle
WHERE Feld1,Feld2,Feld3,..,Feldn LIKE "%Suchbegriff%" Muss ich den Suchbegriff etwas für jedes Feld extra angeben?? :shock: Also so:
SQL-Code:
?!?! :shock:
SELECT * FROM Tabelle
WHERE (Feld1 LIKE "%Suchbegriff%")OR(Feld2 LIKE "%Suchbegriff%") Also meine Version ist da etwas kürzer :stupid: , oder kann ich das doch irgendwie abkürzen? :gruebel: |
Re: WHERE über alle Felder
Zitat:
|
Re: WHERE über alle Felder
Ich weiß nicht ob es performanter ist aber bestimmt kürzer ;) Einfach die Felder per Stringverknüpfung verketten
SQL-Code:
P.S: mit || ist die String-Verknüpfung gemeint, falls es nicht der Standard ist ...
SELECT * from tabelle where feld1||feld2||feld3 like "%suchbegriff%";
|
Re: WHERE über alle Felder
@jim_raynor: Bist du sicher das diese Verkettung in der where-clause funktioniert?
|
Re: WHERE über alle Felder
Moin :-)
hab mal grad eben den Vorschlag von jim_raynor getestet -> Jau, das geht so mit der Verkettung der Felder, sprich suchen über alle Felder! Zumindest bei meiner DB Absolute Database bekomme ich entsprechende Ergebnisse :-) Hätt ich ehrlich gesagt nicht für möglich gehalten, dass das funzt... |
Re: WHERE über alle Felder
Das geht mit Sicherheit so. Ob die Ergebnismenge nun aus einzelnen Feldern oder zusammengesetzten besteht ist völlig egal. In diesem Ergebnisfeld wird dann nachgeschaut, ob der Suchbegriff darin vorkommt.
Das hier müsste auch gehen :
SQL-Code:
Vielleicht noch mit ein paar Decimals per CAST bestücken als Würze. :mrgreen: Aber die Idee ist nicht schlecht ! Werde das in (zurückgestelltem) konkreten Fall sogar so machen. Da verwechselt ein Penner immer die Anrede und den Namen und wundert sich, daß nichts gefunden wird. :zwinker:
SELECT * from TABELLE where upper (Feld1||Feld2) like '%SUCH%';
|
Re: WHERE über alle Felder
Hallo,
noch eine Bemerkung: wenn Feld1 den Eintrag "Mr" und Feld2 den Eintrag "Spock" hat liefert die Konkatenierungslösung bei der Suche nach "MrSpock" auch einen Treffer :mrgreen: |
Re: WHERE über alle Felder
Zitat:
SQL-Code:
und '-' ist ein Wert, der in den Suchausdrücken nicht vorkommen kann.
SELECT * from TABELLE where upper (Feld1 || '-' || Feld2 || '-' ...) like '%SUCH%';
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 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 by Thomas Breitkreuz