ugrás a tartalomhoz

select if-ben

moferi · 2007. Május. 9. (Sze), 12.00
Kedves Szakértők, :)

nem jövök rá, hogy az alábbi egyszerű script miért adja ezt a mysql hibaüzenetet:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

az Inst tábla tartalmaz ID, és Activity oszlopot. Ha Activity=4, akkor a Conto tábla első sorának ValidTo mezejét tenném bele, ha nem, akkor 1-es értéket.

select ID, IF(Activity=4,(select ValidTo from Conto where ID=1),1)
from Inst


Ha valaki tudja mit csináltam rosszul, kérem jelezze, köszönöm.
5ös mysql-szervert használok.

Feri
 
1

He?

janoszen · 2007. Május. 9. (Sze), 21.38
Te mondd, ezt a logikát honnan szedted? Ezt join-nal kellene megcsinálni, default érték használata mellett. A MySQL csak tárolt eljárásban támogat if-et, azt is teljesen más szintaktikával.
2

előbb nézz utána

gex · 2007. Május. 10. (Cs), 09.39
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#function_if
4

Jogos

janoszen · 2007. Május. 10. (Cs), 10.00
Jogos, bocsánat... de mondjuk akkor is fenttartom, hogy ezt nem így kéne megcsinálni.
3

ehhez mit szólsz?

gex · 2007. Május. 10. (Cs), 09.44

SELECT
    i.ID,
    IF(i.Activity = 4, c.ValidTo, 1)
FROM
    Inst i,
    Conto c
WHERE
    c.ID = 1
valóban kicsit nyakatekert megoldás...