IIF oder CASE in Progress Datenbank HOWTO?

08/02/2010 - 14:58 von Michael Schmitz | Report spam
Hallo NG,

ich versuche per C# und dem .Net OdbcConnetion

folgenden SQL String abzusetzen:

SELECT PUB_YE_BelegPos.Bezeichnung, PUB_YS_ArtikelSpr.Bezeichnung,
IIf(PUB_YE_BelegPos.Bezeichnung=";;;",PUB_YS_ArtikelSpr.Bezeichnung,PUB_YE_BelegPos.Bezeichnung)
AS Ergebnis FROM PUB_YE_BelegPos INNER JOIN PUB_YS_ArtikelSpr ON
(PUB_YE_BelegPos.Artikel = PUB_YS_ArtikelSpr.Artikel) AND
(PUB_YE_BelegPos.Firma = PUB_YS_ArtikelSpr.Firma)



IIF Kennt Progress anscheinend nicht,

deswegen habe ich Versucht mit CASE das umzuformen:



SELECT PUB_YE_BelegPos.Bezeichnung, PUB_YS_ArtikelSpr.Bezeichnung, CASE
[PUB_YE_BelegPos].[Bezeichnung] WHEN Bezeichnung =";;;" then
,[PUB_YS_ArtikelSpr].[Bezeichnung] ELSE PUB_YE_BelegPos.Bezeichnung END) AS
ERGEBNIS FROM PUB_YE_BelegPos INNER JOIN PUB_YS_ArtikelSpr ON
(PUB_YE_BelegPos.Artikel = PUB_YS_ArtikelSpr.Artikel) AND
(PUB_YE_BelegPos.Firma = PUB_YS_ArtikelSpr.Firma)



Ich bekomme immer die Fehlermeldung:



[DataDirect]ODBC PROGRESS driver][PROGRESS]Syntaxfehler (7587)







Gruß



und TIA



Michael
 

Lesen sie die antworten

#1 Elmar Boye
08/02/2010 - 15:21 | Warnen spam
Hallo Michael,

Michael Schmitz schrieb:
ich versuche per C# und dem .Net OdbcConnetion

folgenden SQL String abzusetzen:
[...]
IIf(PUB_YE_BelegPos.Bezeichnung=";;;",PUB_YS_ArtikelSpr.Bezeichnung,PUB_YE_BelegPos.Bezeichnung)

IIF Kennt Progress anscheinend nicht,



außer Access kennt das keine "anstàndige" Datenbank ;-)

deswegen habe ich Versucht mit CASE das umzuformen:



was ANSI-SQL ist... und ohne PostgreSQL hier zu haben dürfte es sein:

CASE WHEN PUB_YE_BelegPos.Bezeichnung = ';;;'
THEN PUB_YS_ArtikelSpr.Bezeichnung
ELSE PUB_YE_BelegPos.Bezeichnung END

ansonsten siehe auch
<URL:http://www.postgresql.org/docs/8.4/...l.html>
beachte auch bei Zeichenketten gelten einfache Anführungszeichen:
<URL:http://www.postgresql.org/docs/8.4/...STANTS>
und doppelte sind für begrenzt Bezeichner geacht - wo Access [] verwendet:
<URL:http://www.postgresql.org/docs/8.4/...IFIERS>

Gruß Elmar

Ähnliche fragen