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

SQL Oracle Discussion :

Débutant oracle, aide pour comprendre une requête.


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Débutant oracle, aide pour comprendre une requête.
    Bonjour

    Je suis en train d'adapter un site en jsp avec base oracle 8i vers jsp mysql.
    Dans une class j'ai plusieurs requete qui ressemble à ceci:
    "SELECT ARTICLE_ID, ARTICLE.CODE_ARTICLE as CODE_ARTICLE, REVISION, ARTICLE.SOURCE as SOURCE, ARTICLE.DESIGNATION as DESIGNATION, PLAN, ARTICLE.UNITE as UNITE, TARIF.PRIX_DE_VENTE as PRIX_DE_VENTE, TARIF.GROUPE_REMISE as GROUPE_REMISE, TARIF.GROUPE_STATS as GROUPE_STATS, TARIF.CODE_SIGNAL as CODE_SIGNAL, REMPLACEMENT.CODE_ARTICLE as REMPLACEMENT, NOMENCLATURE_ID, PLANCHE_LIST_ID, NOTE_LIST_ID, IMAGE_ID, DIVERS, DESCRIPTION FROM ARTICLE,TARIF,SOURCE,REMPLACEMENT WHERE upper(ARTICLE.CODE_ARTICLE) like upper('"+ reference + "') AND ARTICLE.CODE_ARTICLE = TARIF.CODE_ARTICLE(+) AND ARTICLE.CODE_ARTICLE = REMPLACEMENT.OLD_ARTICLE(+) AND ARTICLE.SOURCE = SOURCE.SOURCE order by CODE_ARTICLE";
    Mon soucis est sur les "(+)" je ne sais pas à quoi cela correspond et évidement cela ne marche pas sur mysql.

    Est ce que quelqu'un peut m'expliquer ça?

    Merci pour votre aide

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    C'est la syntaxe propriétaire d'Oracle pour une jointure externe.

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup,

    Savez vous comment je peux adapter cela pour mysql?

    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 37
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    regardez au niveau des jointure externe (left outerjoin et right outer join)
    Pour les messages utiles, mettre un pouce vert fait plaisir à celui qui donne de son temps pour aider. (en tout cas, ça me fait plaisir)

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par patbonf Voir le message
    Merci beaucoup,

    Savez vous comment je peux adapter cela pour mysql?

    Merci
    Est-ce que vous pouvez plutot me dire quel type de jointure c'est?
    externe droite ou gauche?

    merci

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Les tables où il y a le + peuvent être vides (je sais plus si c'est gauche ou droite pour les outer join)
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Au niveau des jointures ça donne ceci en syntaxe ANSI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          from article      art
     left join tarif        trf on trf.code_article = art.code_article
     left join source       src on src.source       = art.source
     left join remplacement rmp on rmp.old_article  = art.code_article
         where upper(art.code_article) like upper('"+ reference + "')
      order by code_article
    Je me suis permis d'indiquer des alias aux tables.

Discussions similaires

  1. Besoin d'aide pour comprendre une requête SQL
    Par MAXJEREM dans le forum SQL
    Réponses: 0
    Dernier message: 12/04/2011, 13h46
  2. Réponses: 9
    Dernier message: 26/01/2008, 15h17
  3. Réponses: 4
    Dernier message: 18/11/2006, 22h58
  4. [Access 2000] Aide pour finir une requête
    Par Tankian dans le forum Access
    Réponses: 4
    Dernier message: 21/12/2005, 19h53
  5. Aide pour écrire une requête complexe
    Par julienbdx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2005, 16h58

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