IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème avec une requête sql


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Par défaut Problème avec une requête sql
    Bonjour j'essaye d'exécuter une simple requête sql afin d'afficher les 3 premières lignes de celle-ci par exemple et voici l'erreur que je reçoit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00933: SQL command not properly ended
    Voici ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from FAQ LIMIT 0 , 2;
    Quelqu'un peut-il m'aider?

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Il n'existe pas de commande LIMIT sous oracle, on n'est obligé de passer par un autre chemin pour arriver à ces fins :

    La réponse était dans la FAQ oracle de developpez.com (toujours penser à la regarder!!! )


    http://php.developpez.com/faq/index....e#oracle-limit

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Par défaut
    Citation Envoyé par DroP Voir le message
    Il n'existe pas de commande LIMIT sous oracle, on n'est obligé de passer par un autre chemin pour arriver à ces fins :

    La réponse était dans la FAQ oracle de developpez.com (toujours penser à la regarder!!! )


    http://php.developpez.com/faq/index....e#oracle-limit
    Merci Cela marche pour ce que je veut faire dans mon code php....

    Bonne journée

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Par défaut
    J'ai encore une petite question à 5 cents...

    Voici ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from(select FAQ_ID, QUESTION, rownum as n from faq ) where n between 0 and 6 order by question asc
    Cette requête fonctionne mais j'aimerais bien retrouver ma liste de questions triée correctement, ce qui n'est pas le cas ici car si je vais voir la rownum 7 elle aurait dû apparaitre dans mon select ... order by

    Comment pourrais-je faire pour régler ce détail?

    Merci

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 138
    Par défaut
    Une requête SELECT sans clause ORDER BY retourne les lignes dans un ordre aléatoire.
    ROWNUM ne fait que numéroter ces lignes... aléatoirement.
    Il faut ajouter une clause ORDER BY dans la sous-requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select * 
    from (select FAQ_ID, QUESTION, rownum as n 
          from faq 
          order by question asc
         ) 
    where n between 0 and 6 
    order by n
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Une requête SELECT sans clause ORDER BY retourne les lignes dans un ordre aléatoire.
    ROWNUM ne fait que numéroter ces lignes... aléatoirement.
    Il faut ajouter une clause ORDER BY dans la sous-requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select * 
    from (select FAQ_ID, QUESTION, rownum as n 
          from faq 
          order by question asc
         ) 
    where n between 0 and 6 
    order by n
    Voici les résultats que j'obtiens en exécutant cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        FAQ_ID QUESTION                                                                             
    ---------- -------------------------------------------------------------------------------------
             0 Lorsque, j'essaye de me connecter, rien ne se passe.                                 
             1 Lorsque j'essaye de me connecter, je reçoit le message "quota de connexion atteint". 
             2 J'ai oublié mes identifiants de connexion.                                           
             3 Le fichier CSV ne s'ouvre pas.                                                       
             4 Impossible d'imprimer dans le fichier pdf.
    Ma liste de question n'est donc pas trié mais la colonne n l'est bien....

    Comment faire?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec une requête SQL en C#
    Par valebl dans le forum C#
    Réponses: 15
    Dernier message: 16/04/2008, 21h01
  2. Petit problème avec une requête SQL en VB6
    Par muzele dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/11/2007, 21h51
  3. [SQL] Problème avec une requête sql
    Par bodysplash007 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 11/05/2007, 18h30
  4. [MySQL] Problème avec une requête SQL
    Par chobol dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 11/05/2006, 13h29
  5. [VB]Problème avec une requête SQL
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/03/2006, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo