Einzelnen Beitrag anzeigen

NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#12

Re: [MSSQL] Problem bei Konvertierung in Case-Verzweigung

  Alt 8. Apr 2008, 08:22
Hi,

Zitat:
SELECT @Nummer = COALESCE(
CONVERT(VARCHAR, dbo.tEingangsrechnung.Eingangsrechnungsnummer),
CONVERT(VARCHAR, dbo.tKassenbuchung.Belegnummer),
CONVERT(VARCHAR, tEingangsrechnung_1.Eingangsrechnungsnummer),
CONVERT(VARCHAR, dbo.tAusgangsrechnung.Ausgangsrechnungsnummer),
CONVERT(VARCHAR, dbo.tDauerauftrag.Dauerauftragsnummer),
CONVERT(VARCHAR, dbo.tSonstigeZahlungenEinnahmen.SZENummer),
CONVERT(VARCHAR, dbo.tSonstigeZahlungenAusgaben.SZANummer)
)
Stimmt, so klappt es jedenfalls bei einem Test bei mir.

Aber deine Abfrage oben hat noch ein paar andere Feher - oder ist etwas durcheinander gerüttelt. Ein gut formatierter Code hilft auch bei SQL

SQL-Code:
SELECT TOP 100 PERCENT -- eigendlich unnötig?
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
------------------------------------------------------------------------ hier fehlt die bedingung <-- ????
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
------------------------------------------------------------------------ hier fehlt die bedingung <-- ????
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
------------------------------------------------------------------------ wo ist der join <-- ????
   ON tEingangsrechnung_2.FK_tRechnung = dbo.tRechnung.PK_tRechnung
------------------------------------------------------------------------ wo ist der join <-- ????
   ON tKontenbuchung.PK_tKontenbuchung = dbo.tKontenbuchung_Rechnung.FK_tKontenbuchung
ORDER BY tEingangsrechnung_1.Eingangsrechnungsnummer
Gruß
Norman
  Mit Zitat antworten Zitat