Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [MSSQL] Problem bei Konvertierung in Case-Verzweigung (https://www.delphipraxis.net/111669-%5Bmssql%5D-problem-bei-konvertierung-case-verzweigung.html)

alzaimar 8. Apr 2008 06:59

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

Zitat von omata
... jetzt geht wieder der CONVERT-Schnack los...

Was ist den der 'CONVERT-Schnack'? Ist Schnack eine SQL-Anweisung? :stupid:

NormanNG 8. Apr 2008 07:22

Re: [MSSQL] Problem bei Konvertierung in Case-Verzweigung
 
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

Evian 8. Apr 2008 10:08

Re: [MSSQL] Problem bei Konvertierung in Case-Verzweigung
 
Vielen Dank ... es funktioniert schon. Das seltsame ist, dass gar nicht der erste Parameter ein In-Wert war. Anscheinend erwartet der Server immer einen Int-Wert, wenn auch nir einer der Parameter Int ist?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz