Ich habe Tabellenkategorien (c) und eine weitere Tabelle (x) mit einer Spalte, die mit Komma getrennte Cathans als Varchar-Datentyp enthalten kann. Ich möchte verwandte Kategorien auswählen, aber ich habe den Fehler "Konvertierung fehlgeschlagen beim Konvertieren des Varchar-Wertes '5,' in Datentyp int." wenn sie versuchen, wählen:Konvertierung fehlgeschlagen beim Konvertieren des Varchar-Werts '1' in den Datentyp int
SELECT ID, Title FROM c WHERE ID IN (SELECT catIDs FROM x WHERE ID=any);
Die Unterabfrage gibt Daten wie „1,3,4“
Was passiert, wenn Sie WHERE ID IN durch WHERE CAST (ID als varchar (5)) IN ersetzen? – CarneyCode
Ich stimme @Traroth - Liste der IDs zurückgegeben als eine Zeichenfolge von durch Komma getrennten Werten ** ein Problem mit Datenbank-Design **. Gibt es wirklich die Spalte 'catIDs' in der' x' Tabelle? Oder vielleicht ist dies nur ein Beispiel und "1,3,4" wird tatsächlich von gespeicherten Daten zurückgegeben oder aus einer unstrukturierten Datei abgerufen? –
@Carnotaurus: Es funktioniert, aber nicht das richtige Ergebnis zurückgeben, weil es nach 'x, y', nicht 'x', 'y' –