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

Oracle Discussion :

Conversion d'un SELECT en ORACLE


Sujet :

Oracle

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut Conversion d'un SELECT en ORACLE
    Bonjour à tous,
    Voilà dans l'idée la requête que j'ai actuellement et que je dois convertir pour ORACLE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    SELECT
    	t1.col1,
    	t1.col2,
    	t1.col3,
    	SUM(t1.col4),
    	t2.col1,
    	t2.col2,
    	t2.col3,
    	t2.col4,
    FROM
    	table1 t1
    	table2 t2
    WHERE
    	t1.col1 = t2.col1
    ORDER BY t1.col2 DESC
    GROUP BY t1.col1
    LIMIT 10,15
    J'ai tenté de l'encapsuler dans une sous-requête et d'utiliser ROWNUM mais ça m'a pas marché.
    Je me suis penché sur le OVER(PARTITION BY ...) mais j'ai rien compris du tout
    Je suis persuadé que d'autre ici ont rencontré le même problème que moi mais la recherche sur le forum n'a rien donné de concluant.

    Merci d'avance

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut
    De mémoire, cette solution était incompatible avec le group by

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par TotorLeCastor Voir le message
    De mémoire, cette solution était incompatible avec le group by
    Ou peut être que votre requête est incompatible avec le group by
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 
    Connected as mni
     
    SQL> define N = 2
    SQL> define pg = 3
    SQL> 
    SQL> select
      2          department_id, tot_sal, department_name
      3  from    (
      4          select  department_id, tot_sal, department_name, rownum rn
      5          from
      6                  ( Select e.department_id, Sum(e.salary) Tot_Sal, d.department_name
      7                      From hr.departments d
      8                           Join
      9                           hr.employees e
     10                        On (d.department_id = e.department_id)
     11                    Group by e.department_id, d.department_name
     12                    Order by e.department_id )
     13          where
     14                  rownum <= &N * &pg
     15          )       v1
     16  where
     17          v1.rn > (&N-1) * &pg
     18  order by
     19          rn
     20  /
     
    DEPARTMENT_ID    TOT_SAL DEPARTMENT_NAME
    ------------- ---------- ------------------------------
               40       6500 Human Resources
               50     156400 Shipping
               60      28800 IT
     
    SQL>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Ou peut être que votre requête est incompatible avec le group by
    Merci pour ton aide précieuse.

    Je suis reparti de l'exemple pour construire ma requête au lieu de repartir de ma requête originale.

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

Discussions similaires

  1. Conversion requête sql server to oracle
    Par shafomat dans le forum SQL
    Réponses: 2
    Dernier message: 31/08/2011, 13h22
  2. Conversion timestamp perl vers timestamp Oracle
    Par danathane dans le forum SGBD
    Réponses: 3
    Dernier message: 26/01/2009, 16h45
  3. Conversion de bd MSSQL vers Oracle
    Par bruce-willis dans le forum Outils
    Réponses: 6
    Dernier message: 24/09/2008, 16h44
  4. Conversion timestamp vers date avec oracle 9.2
    Par gaboo_bl dans le forum Oracle
    Réponses: 5
    Dernier message: 27/11/2006, 14h10
  5. requette select sur oracle 8i
    Par Mr.joker dans le forum Oracle
    Réponses: 2
    Dernier message: 05/11/2006, 09h08

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