Eindeutige Union bei Auswahl. Fehler beim Ntext-Datentyp

8

Ich bin bei SQL ziemlich nutzlos, aber ich finde, dass ich eine gespeicherte Prozedur für eine sehr einfache Schlüsselwortsuche schreiben muss.

Ich versuche, eine einfache Auswahl für Name -wie% Schlüsselwort% - dann eine andere Auswahl auf Beschreibung -same Schlüsselwort-und Beitritt (Union) die 2 wählt.

Allerdings bekomme ich den Fehler:

%Vor%

Ich habe versucht, UNION ALL zu verwenden, aber in bestimmten Fällen doppelte Zeilen zurückgegeben (abhängig vom Schlüsselwort / der Wortgruppe).

Ich habe auch versucht, mit temporären Tabellen zu arbeiten und dabei verschiedene Optionen auszuwählen, aber das ist, wo ich wirklich verwirrt wurde.

Regeln:

  • Ich kann den Datentyp nicht ändern
  • Ich brauche die Zeilen von wählen Sie auf dem 'Name', um über den Zeilen von der Auswahl auf der 'Beschreibung'
  • zu sein
  • Ich kann nur eine gespeicherte Prozedur verwenden und kann den Datenadapter nicht ändern, da ich ihn in ein System stecke, das ich nicht kontrollieren kann.

Weitere Informationen:

Tabellenspalten (die wichtigen 2, mit denen ich arbeite, sind Name und Beschreibung):

%Vor%

SQL:

%Vor%

Jede Hilfe, die eine Tabelle von verschiedenen Reihen herausbringt, würde wirklich geschätzt. Außerdem wäre es großartig, mir als Laie zu erklären. :)

    
Deadlykipper 13.01.2012, 12:03
quelle

3 Antworten

4

Aus den Kommentaren. Es scheint, dass du das brauchst.

%Vor%

Sie sollten in Erwägung ziehen, Volltextsuche zu verwenden, da Suchen mit führenden Platzhaltern nicht möglich sind Verwenden Sie einen Index und müssen Sie immer alle Zeilen scannen.

    
Martin Smith 13.01.2012, 12:24
quelle
7

Verwenden Sie etwas wie "cast (Beschreibung als nvarchar (2000)) als Beschreibung" anstelle von ntext Feldnamen.

    
Arvo 13.01.2012 12:08
quelle
5

Diese Antwort ist für andere wie mich, die keine Probleme mit doppelten Zeilen haben werden.

UNION ALL ist wahrscheinlich das, was Sie wollen.

Siehe die Dokumentation für den UNION-Operator .

    
daveloyall 21.10.2014 19:38
quelle