Zelleinhalte durchsuchen

02/07/2008 - 18:13 von WolfgangD | Report spam
Hi,
vielleicht hat jemand eine glorreiche Idee?
Ich komme da nicht weiter

Habe TabelleA da ist eine nvarch Spalte drinnen.
|Name|
heinz
mueller
peter
...

Dann habe ich TabelleB (ID ist int und Text ist Textfeld)
| ID | Text1 |
| 1 | Sehr geehrter heinz |
| 2 | Hallo heinz du .. |
| 3 | Hallo Peter du .. |
| 4 | Hallo sol du .. |




Nun möchte ich das Spaltenname (Tabelle A) den Inhalt mit Tabelle B
(Spalte Text1) vergleicht und mir die Werte ausgibt wo es eine
Überstimmung gibt

Sollte in etwa so aussehen:

| ID | Text1 |Name|
| 1 | Sehr geehrter heinz | Heinz |
| 2 | Hallo heinz du .. | Heinz |
| 3 | Hallo Peter du .. | Peter |


Ich habe es mit :
SELECT TabelleB.ID, TabelleB.Text1, TabelleA.Name
FROM TabelleB CROSS JOIN
TabelleA
WHERE ( TabelleA.Name LIKE TabelleB.Text1)
versucht.

Leider kommt kein Ergebnis raus

Wenn ich nun direkt nen Wert nehme und dann mit Like arbeite (wegen
text) kommt TabelleB.ID und TabelleB.Text1 mit dem richtigen Ergebnis
raus.





Wolle
 

Lesen sie die antworten

#1 Elmar Boye
02/07/2008 - 20:10 | Warnen spam
Hallo Wolfgang,

WolfgangD schrieb:
Habe TabelleA da ist eine nvarch Spalte drinnen.



Bei TEXT für TabelleB sollte das eher VARCHAR sein.

|Name|
heinz
mueller
peter
...

Dann habe ich TabelleB (ID ist int und Text ist Textfeld)
| ID | Text1 |
| 1 | Sehr geehrter heinz |
| 2 | Hallo heinz du .. |
| 3 | Hallo Peter du .. |
| 4 | Hallo sol du .. |


Nun möchte ich das Spaltenname (Tabelle A) den Inhalt mit Tabelle B
(Spalte Text1) vergleicht und mir die Werte ausgibt wo es eine
Überstimmung gibt

Sollte in etwa so aussehen:

| ID | Text1 |Name|
| 1 | Sehr geehrter heinz | Heinz |
| 2 | Hallo heinz du .. | Heinz |
| 3 | Hallo Peter du .. | Peter |


Ich habe es mit :
SELECT TabelleB.ID, TabelleB.Text1, TabelleA.Name
FROM TabelleB CROSS JOIN
TabelleA
WHERE ( TabelleA.Name LIKE TabelleB.Text1)
versucht.

Leider kommt kein Ergebnis raus



Da der Name im Text "begraben" ist, benötigst Du ein '%' drumrum
und die Spalten wàre andersrum anzugeben:

SELECT TabelleA.Name, TabelleB.ID, TabelleB.Text1
FROM TabelleA INNER JOIN TabelleB
ON TabelleB.Text1 LIKE '%' + TabelleA.Name + '%'

Gruß Elmar

Ähnliche fragen