coalesce
ist auf jeden Fall schon mal sehr schön.. trotzdem kommt immernoch der selbe Fehler. Ein Cast auf die übergebenen Werte ist ja auch eigentlich quatsch, denn der Fehler rührt ja in diesem speziellen Fall daher, dass sich in der Spalte SZANummer, der Tabelle tSonstigeZahlungenAusgaben in irgendeiner Zeile der nvarchar-Wert 'SZA000759' befindet. Ihn noch ein mal in NVARCHAR zu Casten wäre dann ja 'doppelt gemoppelt' und führt zwangsläufig zu dem selben Fehler. Es muss doch irgendwie möglich sein, anzugeben, dass Nummer vom typ nvarchar ist und nicht, wie der Server aus welchem Grund auch immer annimmt, dass es sich um einen den typ int handelt, oder?!
EDIT:
Hier mal meine gesammte abfrage, ich sehe zwar keinen Fehler, aber vielleicht habe ich irgendetwas anderes falsch gemacht?!
SQL-Code:
SELECT TOP 100 PERCENT dbo.sUmbuchung_Anteil.*, COALESCE (tEingangsrechnung_1.Eingangsrechnungsnummer, dbo.tKassenbuchung.Belegnummer,
tEingangsrechnung_1.Eingangsrechnungsnummer, dbo.tAusgangsrechnung.Ausgangsrechnungsnummer, dbo.tDauerauftrag.Dauerauftragsnummer,
dbo.tSonstigeZahlungenEinnahmen.SZENummer, dbo.tSonstigeZahlungenAusgaben.SZANummer, NULL) AS Eingangsrechnungsnummer,
tKontenbuchung.Betrag AS RechnungBetrag, tKontenbuchung.Verwendung AS RechnungVerwendung,
tKontenbuchung.Zahlungsempfaenger AS RechnungZahlungsempfaenger, tKontenbuchung.Buchungsdatum AS RechnungBuchungsdatum,
dbo.tKontenbuch.PK_tKontenbuch AS PK_tKontenbuchRechnung
FROM dbo.tSonstigeZahlungenAusgaben RIGHT OUTER JOIN
dbo.sUmbuchung_Anteil ON
dbo.tSonstigeZahlungenAusgaben.PK_tSonstigeZahlungenAusgaben = dbo.sUmbuchung_Anteil.FK_tSonstigeZahlungenAusgaben LEFT OUTER JOIN
dbo.tSonstigeZahlungenEinnahmen ON
dbo.sUmbuchung_Anteil.FK_tSonstigeZahlungenEinnahmen = dbo.tSonstigeZahlungenEinnahmen.PK_tSonstigeZahlungenEinnahmen LEFT OUTER JOIN
dbo.tAusgangsrechnung ON dbo.sUmbuchung_Anteil.FK_tAusgangsrechnung = dbo.tAusgangsrechnung.PK_tAusgangsrechnung LEFT OUTER JOIN
dbo.tDauerauftrag ON dbo.sUmbuchung_Anteil.FK_tDauerauftrag = dbo.tDauerauftrag.PK_tDauerauftrag LEFT OUTER JOIN
dbo.tEingangsrechnung tEingangsrechnung_1 ON
dbo.sUmbuchung_Anteil.FK_tEingangsrechnung = tEingangsrechnung_1.PK_tEingangsrechnung LEFT OUTER JOIN
dbo.tKassenbuchung ON dbo.sUmbuchung_Anteil.FK_Kassenbuchung = dbo.tKassenbuchung.PK_tKassenbuchung LEFT OUTER JOIN
dbo.tKonto INNER JOIN
dbo.tKontenbuch ON dbo.tKonto.PK_tKonto = dbo.tKontenbuch.FK_tKonto INNER JOIN
dbo.tKontenbuchung tKontenbuchung ON dbo.tKontenbuch.PK_tKontenbuch = tKontenbuchung.FK_tKontenbuch ON
dbo.sUmbuchung_Anteil.FK_tKontenbuchung = tKontenbuchung.PK_tKontenbuchung LEFT OUTER JOIN
dbo.tEingangsrechnung tEingangsrechnung_2 INNER JOIN
dbo.tRechnung_Teilzahlung INNER JOIN
dbo.tKontenbuchung_Rechnung ON
dbo.tRechnung_Teilzahlung.PK_tRechnung_Teilzahlung = dbo.tKontenbuchung_Rechnung.FK_tRechnung_Teilzahlung INNER JOIN
dbo.tRechnung ON dbo.tRechnung_Teilzahlung.FK_tRechnung = dbo.tRechnung.PK_tRechnung ON
tEingangsrechnung_2.FK_tRechnung = dbo.tRechnung.PK_tRechnung ON
tKontenbuchung.PK_tKontenbuchung = dbo.tKontenbuchung_Rechnung.FK_tKontenbuchung
ORDER BY tEingangsrechnung_1.Eingangsrechnungsnummer