![]() |
Datenbank: MS SQL SERVER • Version: 2000 • Zugriff über: ADO
SQL viele OR Verknüpfungen
Hallo,
ich muss eine Abfrage mit vielen OR Verknüpfungen von Delphi zusammenbasteln lassen. Etwa so:
Delphi-Quellcode:
usw.
with MyTable do
begin SQL.Clear; SQL.Add('SELECT * FROM test '); SQL.Add('WHERE Feld1 LIKE ('%blah%'); SQL.Add('OR FELD2 LIKE ('%blah%'); SQL.Add('OR FELD3 LIKE ('%blah%'); SQL.Add('OR FELD4 LIKE ('%blah%'); SQL.Add('OR FELD5 LIKE ('%blah%'); SQL.Add('OR FELD6 LIKE ('%blah%'); . . . ca. 35 Felder... kann man die SQL Anweisung nicht zusammenfassen? wie z. B.
SQL-Code:
Also irgenwas wie eine Aufzählung der Felder, die dann verglichen werden.
SELECT * FROM test
WHERE (Feld1,Feld2,Feld3,Feld4,Feld5,Feld6......) LIKE ('%blah%'); Bitte dringend um Hilfe. |
Re: SQL viele OR Verknüpfungen
Nein kann man nicht, das Design deiner Tabelle ist dann nicht richtig. Lagere die 35 Felder in eine separate Tabelle aus (35 Zeilen). Jede Zeile enthält neben dem Feld noch einen Verweis auf die ursprüngliche Tabelle, z.B. so:
Tabelle 1: tbID, Balbla (tbId ist der Primary Key) Tabelle 2: dtID, tbID, Feld (dtID ist der Primary Key) Deine Abfrage geht dann so:
SQL-Code:
oder so:
select distinct t1.*
from Tabelle1 t1 join Tabelle2 t2 on t1.tbid = t2.tbid where t2.Feld like 'Bla'
SQL-Code:
oder oder oder.
select * from Tabelle1 t1
where exists ( select * from Tabelle2 t2 where t2.tbid = t1.tbid and t2.Feld like 'Bla' ) Und wenn Du dann noch 150 Felder hinzufügen willst, kein Problem. |
Re: SQL viele OR Verknüpfungen
OK, Danke werd ich wohl dann so machen müssen !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 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