Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#2

AW: Firebird Volltextsuche

  Alt 20. Jun 2012, 22:17
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
  Mit Zitat antworten Zitat