Oracle SQL - Étrange "ORA-00907 Manquant Parenthèse fermante' erreur
J'ai écrit une requête pour tester une simple régression linéaire pour obtenir la ligne de meilleur ajustement entre les deux ensembles de poids. Il devrait, espérons-le retour des résultats comme ci-dessous, mais c'est jeter une étrange erreur
'ORA-00907 Manquant Parenthèse fermante'
et le CRAPAUD est dirigée vers la partie où il est dit:
case ( when trn.wid_location = 28.3 then
J'ai été peignage à parenthèse manquante, mais je ne pense pas que c'est le problème, parce que si je remplace l'instruction du cas avec
100 as mine,
l'erreur disparaît et l'exécution de la requête.
Toutes les pensées?
Acclamations,
Tommy
select
decode(wid_location,28.3,'CL',29.6,'DA') as site,
(n*sum_xy - sum_x*sum_y)/(n*sum_x_sq - sum_x*sum_x) as m,
(sum_y - ((n*sum_xy - sum_x*sum_y)/(n*sum_x_sq - sum_x*sum_x))*sum_x)/n as b
from (
select
wid_location,
sum(wids) as sum_x,
sum(mine) as sum_y,
sum(wids*mine) as sum_xy,
sum(wids*wids) as sum_x_sq,
count(*) as n
from (
select
trn.wid_location,
con.empty_weight_total as wids,
case (
when trn.wid_location = 28.3 then con.empty_weight_total*0.900-1.0
when trn.wid_location = 29.6 then con.empty_weight_total*0.950-1.5
end
) as mine
from widsys.train trn
inner join widsys.consist con
using (train_record_id)
where mine_code = 'YA'
and to_char(trn.wid_date,'IYYY') = 2009
and to_char(trn.wid_date,'IW') = 29
)
group by wid_location
)
Et voici les résultats que je serais heureux de voir
-- +----------+--------+----------+
-- | SITE | M | B |
-- +----------+--------+----------+
-- | CL | 0.900 | -1.0 |
-- +----------+--------+----------+
-- | DA | 0.950 | -1.5 |
-- +----------+--------+----------+
Vous devez vous connecter pour publier un commentaire.
T pense que la syntaxe de l'affaire n'est pas correct.
Faire quelque chose comme:
Essayer de se débarrasser de deux parenthèses dans le cas de la déclaration. Vous n'en avez pas besoin.
Il peut être: