Hallo,
eine "undynamische" Lösung fällt mir da nicht ein.
Ohne Dynamik ginge es nur, wenn Du die maximale Anzahl von Suchbegriffen vorher festlegst. In dem Fall könntest Du mit Parametern arbeiten.
Eventuell läßt sich die Dynamik mit folgendem Statement vereinfachen:
Code:
select first 50 p.*, i.Anzahl
from mytable p
inner join
(
select referenzid, count(*) as Anzahl
from indextabelle
where 1 = 2
-- variabler Teil -------------
-- [Zitat]Gefunden werden sollen die Datensätze, die alle Suchbegriffe beinhalten.[/Zitat]
-- daher AND, UNION entspräche einem OR.
and wert like '%SUCHBEGRIFF1%
and wert like '%SUCHBEGRIFF2%
and wert like '%SUCHBEGRIFF3%
...
and wert like '%SUCHBEGRIFFx%
and wert like '%SUCHBEGRIFFy%
-------------------------------
group by
referenzid
) i on (p.id = i.referenzid)
order by
i.Anzahl desc