bluejet
Goto Top

MS SQL - Join zweier unterschiedlicher Datentypen

Hallo zusammen,

ich stehe leider vor einem Problem, das ich zurzeit nicht so wirklich lösen kann.
Es geht um folgendes:

Für eine Auswertung muss ich zwei Tabellen miteinander verknüpfen - über die Spalte Belegnummer.
Diese ist in der einen Tabelle ein nvarchar, in der anderen vom Datentyp bigint - warum fragt mich bitte nicht, ich habe das sicher nicht so erstellt.

Bei der Abfrage
SELECT *
FROM Tabelle_1 Tab1
JOIN Tabelle_2 Tab2 on Tab1.Belegnummer = Tab2.Belegnummer

erhalte ich demzufolge die Meldung: Msg 8114, Level 16, State 5, Line 1
Fehler beim Konvertieren des nvarchar-Datentyps in bigint.


Da ich mit solchen Abfragen noch keine Erfahrung habe, wäre ich über Hilfe sehr dankbar, wie und ob ich das lösen kann.


Viele Grüße

Content-Key: 284219

Url: https://administrator.de/contentid/284219

Printed on: April 23, 2024 at 21:04 o'clock

Member: ukulele-7
ukulele-7 Sep 30, 2015 at 10:19:39 (UTC)
Goto Top
SQL versucht hier bereits ohne das du es explizit "befohlen" hast, die NVARCHAR Spalte nach BIGINT zu konvertieren. Da vermutlich irgendwo ein Datensatz mit Zeichen in der Spalte ist, schlägt das fehl. Wenn du andersrum BIGINT in NVARCHAR konvertierst, müsste es gehen. Kaputt ist das Tabellendesign aber dennoch...

ON <spalte_vom_typ_nvarchar> = cast(<spalte_vom_typ_bigint> AS NVARCHAR(<länge>))