Suchabfrage, Priorität "Sortieren nach"

Ich muss eine einfache Suche in einer kleinen Inhaltstabelle implementieren: ID, Name, Beschreibung, Inhalt. Die Ergebnisse müssen nach Prioritäten geordnet sein

NameBeschreibungInhalt

Wenn das gesuchte Wort im Beschreibungsfeld gefunden wurde, wird es nur nach allen Zeilen mit Hund im Namensfeld angezeigt

Was ich getan habe:

Ich habe versucht, eine temporäre Tabelle mit der Struktur einer Tabelle zu erstellen, die ich verwende, aber mit einer anderen Feldpriorität. Für jedes Feld verwende ich diese für die SucheEinfügen auswählen Tabelle zu temp

Beispiel:

  DECLARE @query NVARCHAR(255)


  CREATE TABLE #tbl_search
    (
      [id] INT NOT NULL ,
      [name] NVARCHAR(255) ,
      [description] NVARCHAR(MAX) ,
      [content] NVARCHAR(MAX) ,
      [priority] INT
    )    


    --searching in name field
  INSERT    INTO #tbl_search
            ( [ID] ,
              [name] ,
              [description] ,
              [content] ,
              [priority]

            )
            SELECT  [ID] ,
                    [name] ,
                    [description] ,
                    [content] ,
                    1
            FROM    [tbl_content]
            WHERE   name LIKE '%' + @query + '%'

    --searching in description field            
  INSERT    INTO #tbl_search
            ( [ID] ,
              [name] ,
              [description] ,
              [content] ,
              [priority]

            )
            SELECT  [ID] ,
                    [name] ,
                    [description] ,
                    [content] ,
                    2
            FROM    [tbl_content]
            WHERE   description LIKE '%' + @query + '%'
                    AND id NOT IN ( SELECT  id
                                    FROM    #tbl_search )
   --.....           

  SELECT    *
  FROM      #tbl_search
  ORDER BY  [priority]

  DROP TABLE #tbl_search

Antworten auf die Frage(2)

Ihre Antwort auf die Frage