COALESCE

COALESCE

am 19.03.2007 17:38:16 von Fabian Knauf

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

Re: COALESCE

am 20.03.2007 08:05:02 von Thomas Rachel

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)

Re: COALESCE

am 20.03.2007 08:59:12 von Claus Reibenstein

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

Re: COALESCE

am 20.03.2007 09:15:54 von Fabian Knauf

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

Re: COALESCE

am 20.03.2007 11:32:12 von Axel Schwenke

Fabian Knauf 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

Re: COALESCE

am 21.03.2007 06:23:50 von Thomas Rachel

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.)

Re: COALESCE

am 21.03.2007 12:40:59 von Claus Reibenstein

Axel Schwenke schrieb:

> Fabian Knauf 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

Re: COALESCE

am 21.03.2007 13:29:34 von Daniel Fischer

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

Re: COALESCE

am 21.03.2007 13:37:30 von Claus Reibenstein

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

Re: COALESCE

am 22.03.2007 13:47:39 von Andreas Scherbaum

Axel Schwenke 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)