COALESCE

Hallo,

ich habe folgendes SELECT:

SELECT
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw1) AS zw1hup,
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw2) AS zw2hup,
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw3) AS zw3hup,
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw4) AS zw4hup,
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw5) AS zw5hup,
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw6) AS zw6hup,
(SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
wege.zw7) AS zw7hup
FROM wege
WHERE start = 1
AND ziel = 2

Dieses Select scheitert mit #1305 - FUNCTION db334785.COALESCE does not
exist. Gebe ich aber eines der COALESCE Selects alleine ein funktioniert
es ohne Fehler.

Was mach ich da falsch?

Danke
Fabs
Fabian Knauf [ Mo, 19 März 2007 17:38 ] [ ID #1661776 ]

Re: COALESCE

Fabian Knauf wrote:

> SELECT (SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
> wege.zw7) AS zw7hup
> FROM wege
> WHERE start = 1
> AND ziel = 2

Laß mal das Leerzeichen nach dem Funktionsnamen weg.

COALESCE(hup, 'N')


HTH,

Thomas
--
Chancengleichheit besteht nicht darin, dass jeder einen Apfel pflücken
darf, sondern dass der Zwerg eine Leiter bekommt. (Reinhard Turre,
deutscher Theologe)
Thomas Rachel [ Di, 20 März 2007 08:05 ] [ ID #1662883 ]

Re: COALESCE

Thomas Rachel schrieb:

> Fabian Knauf wrote:
>
>> SELECT (SELECT COALESCE (hup, 'N') FROM linien WHERE linien.linie_id =
>
> Laß mal das Leerzeichen nach dem Funktionsnamen weg.
>
> COALESCE(hup, 'N')

Verlangt das der SQL-Standard? Oder ist das eine MySQL-Eigenart?

Gruß. Claus
Claus Reibenstein [ Di, 20 März 2007 08:59 ] [ ID #1662884 ]

Re: COALESCE

Am Tue, 20 Mar 2007 08:05:02 +0100 schrieb Thomas Rachel:

> Laß mal das Leerzeichen nach dem Funktionsnamen weg.
Stimmt - dann geht's - danke.

Ich schließ mich der Frage von Claus an. Das SELECT habe ich so von
einer parallel laufenden Sybase DB genommen. Dort macht das Leerzeichen
keine Probleme. Gibt es da eine offizielle Regelung? Ist MySQL da
strikter oder Sybase offener?

Fabs
Fabian Knauf [ Di, 20 März 2007 09:15 ] [ ID #1662885 ]

Re: COALESCE

Fabian Knauf <fk2412 [at] web.de> wrote:
> Am Tue, 20 Mar 2007 08:05:02 +0100 schrieb Thomas Rachel:
>
>> Laß mal das Leerzeichen nach dem Funktionsnamen weg.
> Stimmt - dann geht's - danke.
>
> Ich schließ mich der Frage von Claus an. Das SELECT habe ich so von
> einer parallel laufenden Sybase DB genommen. Dort macht das Leerzeichen
> keine Probleme. Gibt es da eine offizielle Regelung? Ist MySQL da
> strikter oder Sybase offener?

http://dev.mysql.com/doc/refman/5.0/en/function-resolution.h tml

Lesen bildet!


XL
Axel Schwenke [ Di, 20 März 2007 11:32 ] [ ID #1662887 ]

Re: COALESCE

Claus Reibenstein wrote:

> Thomas Rachel schrieb:
>
>> Laß mal das Leerzeichen nach dem Funktionsnamen weg.
>>
>> COALESCE(hup, 'N')
>
> Verlangt das der SQL-Standard? Oder ist das eine MySQL-Eigenart?

Gute Frage. Der Tip kam daher, weil ich was Entsprechendes im Hinterkopf
hatte. Die von Axel genannte Seite scheint das ja zu bestätigen, läßt
sich auch nicht genau darüber aus.

Scheint aber eine Eigenart von MySQL zu sein, da sie ja auch
verschwindet, wenn man auf ANSI-Modus stellt.


Thomas
--
Übrigens: ich interpretiere Blinken und Lichthupe immer als "Hallo,
wie geht's Dir? Laß' Dir ruhig Zeit, ich hab's nicht so eilig."
Ist das etwa falsch? (Michael Engert in d.a.s.r.)
Thomas Rachel [ Mi, 21 März 2007 06:23 ] [ ID #1664014 ]

Re: COALESCE

Axel Schwenke schrieb:

> Fabian Knauf <fk2412 [at] web.de> wrote:
>
>> Ich schließ mich der Frage von Claus an. Das SELECT habe ich so von
>> einer parallel laufenden Sybase DB genommen. Dort macht das Leerzeichen
>> keine Probleme. Gibt es da eine offizielle Regelung? Ist MySQL da
>> strikter oder Sybase offener?
>
> http://dev.mysql.com/doc/refman/5.0/en/function-resolution.h tml

Also eine MySQL-Eigenart.

> Lesen bildet!

Wer nicht fragt, bleibt dumm.

Gruß. Claus
Claus Reibenstein [ Mi, 21 März 2007 12:40 ] [ ID #1664017 ]

Re: COALESCE

Claus Reibenstein!

>> Lesen bildet!
>
> Wer nicht fragt, bleibt dumm.

Manchmal bleiben leider Leute, die fragen, trotzdem dumm.

Lesen hilft dagegen relativ zuverlässig ;-)


SCNR
Daniel
Daniel Fischer [ Mi, 21 März 2007 13:29 ] [ ID #1664018 ]

Re: COALESCE

Daniel Fischer schrieb:

> Claus Reibenstein!
>
>>> Lesen bildet!
>>
>> Wer nicht fragt, bleibt dumm.
>
> Manchmal bleiben leider Leute, die fragen, trotzdem dumm.

Solche soll es geben.

> Lesen hilft dagegen relativ zuverlässig ;-)

Auch nicht immer.

Gruß. Claus
Claus Reibenstein [ Mi, 21 März 2007 13:37 ] [ ID #1664019 ]

Re: COALESCE

Axel Schwenke <axel.schwenke [at] gmx.de> wrote:
>
> http://dev.mysql.com/doc/refman/5.0/en/function-resolution.h tml
>
> Lesen bildet!

Du meinst: wenn man tief genug in der Doku wühlt, ohne vorher genau
zu wissen, wonach eigentlich, findet sich sicherlich die für Mysql
passende Lösung?

Ok, damit kann ich leben ;-)


Bye

--
Andreas 'ads' Scherbaum
Failure is not an option. It comes bundled with your Microsoft product.
(Ferenc Mantfeld)
Andreas Scherbaum [ Do, 22 März 2007 13:47 ] [ ID #1665181 ]
Datenbanken » de.comp.datenbanken.mysql » COALESCE

Vorheriges Thema: SELECT <>
Nächstes Thema: ADO Filter erzeugt nach Serverwechsel einen Fehler.