ORA-00936: manque d'expression oracle
J'ai cette requête
SELECT DAL_ROWNOTABLE.DAL_ID FROM
(
SELECT ticket.id AS "DAL_ID", ROWNUMBER ( Order By ticket.id ) AS "DAL_ROWNUMBER"
FROM ticket_table ticket
WHERE ( ticket.type = N'I' )
AND
(
ticket.tenant IS NULL OR ticket.tenant IN
(
SELECT * FROM
(
SELECT tenant_group_member.tenant_id
FROM tenant_group_member
WHERE tenant_group_member.tenant_group = HEXTORAW('30B0716FEB5F4E4BB82A7B7AA3A1A42C')
ORDER BY ticket.id
)
)
)
) DAL_ROWNOTABLE
WHERE DAL_ROWNOTABLE.DAL_ROWNUMBER BETWEEN 1 AND 21
Quel est le problème avec le permettre requête qui est en train de jeter ORA-00936 manque d'expression? n'importe qui? Toute aide sera appréciée...Erreur renvoyé à la colonne:80, ce qui est au début de la première commande par:
- C'est mieux, @Fabio
- Plus lisible si @wildplasser
- Le
ORDER BY
dans la sous-requête est complètement dénuée de sens, et c'est la subquerey le cerner. - Grâce wildplasser, la requête de modification proposée par Gordon travaille...je vais vérifier ça plus loin......
Vous devez vous connecter pour publier un commentaire.
Votre requête peut être beaucoup plus simple. Il y a des choses comme des couches supplémentaires de sous-requêtes et inutile
order by
dans unin
sous-requête. Ce que vous voulez faire avecrownumber
que vous pouvez faire avec justerownum
:ORA-00936 indique généralement une erreur de syntaxe.
ROWNUMBER
n'est pas un Oracle de la fonction. Sauf si vous avez une fonction définie par l'utilisateur de ce nom, je soupçonne que la fonction que vous recherchez estROW_NUMBER()
.