Fehler bei der Konvertierung beim konvertieren den varchar-Wert '1,' in den int-Datentyp

Ich habe die Tabelle Kategorien (c) und einer anderen Tabelle (x), die eine Spalte enthalten kann cat-IDs, getrennt mit Komma als varchar-Datentyp. Ich möchten Wählen Sie passende Kategorien, aber ich bin mit Fehlermeldung "Fehler bei der Konvertierung beim konvertieren den varchar-Wert '5,' in den int-Datentyp.", wenn Sie versuchen zu wählen:

SELECT ID, Title FROM c WHERE ID IN (SELECT catIDs FROM x WHERE ID=any);

Der subquery Daten, z.B. "1,3,4"

  • Was passiert, wenn Sie ersetzen, WOBEI ID mit, WO CAST(ID as varchar(5))?
  • Ich Stimme mit @Traroth - Liste von IDs zurück, wie ein string mit Komma-getrennten Werten legt nahe ein problem mit der Datenbank-design. Ist es wirklich die catIDs Spalte in der x Tabelle? Oder vielleicht ist dies nur ein Beispiel und 1,3,4 ist tatsächlich zurückgekehrt aus gespeicherten rpocedure oder abgerufen werden, von einer flachen Datei?
  • Es funktioniert aber nicht zurückgeben richtigen Ergebnis, weil es auf der Suche nach 'x, y', nicht 'x', 'y'
  • Nice one @Carnotaurus, anstelle der Ergebnis der select-in ein int wandeln Sie die ID mit dem Wert in einen varchar. Funktioniert wie ein Charme.
InformationsquelleAutor x-freestyler | 2010-11-27
Schreibe einen Kommentar