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 :

Traduction en SQL d'une requête MS-Access


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 39
    Points : 42
    Points
    42
    Par défaut Traduction en SQL d'une requête MS-Access
    je veux traduire cette requête qui est créait par assistant en simple sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [ECHAGER AVEC 1].u, [CREDIT 1].credit, [DONNER PAR 1].donner
    FROM ([CREDIT 1] RIGHT JOIN  [ECHAGER AVEC 1] ON [CREDIT 1].u = [ECHAGER AVEC 1].u) RIGHT JOIN  [DONNER PAR 1] ON [ECHAGER AVEC 1].u = [DONNER PAR 1].u;

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 080
    Points : 30 780
    Points
    30 780
    Par défaut
    En SQL normalisé, on évite d'utiliser des noms d'objet comportant des caractères accentués ou des espaces.
    Si ce n'est pas le cas, on encadre ces noms d'objet avec des guillemets doubles ("nom de table").
    Par ailleurs, les parenthèses sont bannies de la clause FROM.
    Ce sont à mon avis les seules règles qui empêcheraient de convertir cette requête dans un SQL respectueux de la norme.
    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.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Par ailleurs, les parenthèses sont bannies de la clause FROM.
    Désolé de te contredire, mais cela change la requête au niveau de sa priorité !

    Donc, non, les parenthèses ne sont pas à bannir, mais il existe des syntaxes équivalentes.....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Juste en passant : mise à part les noms des tables et la séquence d'échappement qui diffère d'un SGBD à l'autre, qu'est-ce qui ne va pas avec cette requête ?
    C'est du SQL tout à fait normal... SQL Server reconnaîtra sans problème cette syntaxe...
    Avec MySQL il faudra remplacer les [] par des `` et avec Oracle les [] par des "".
    => Mais sorti de ça, je ne vois rien de contre nature dans la requête...
    On ne jouit bien que de ce qu’on partage.

  5. #5
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 39
    Points : 42
    Points
    42
    Par défaut merci pour votre réponse mais les trois requête sont sur la même table
    user1 user2 unités
    1 2 512
    2 1 133
    2 3 15

    ça est la table originale
    donc
    moi je veux calculer par exemple la somme des unités que user1=1 a donner à user2=2 comme une colonne "donner " est aussi comme crédit la somme que user2 a donner user1=1
    donc par exemple le statue de user1 va s'afficher comme ça
    rechanger avec user donner crédit
    2 15 266
    5 15 0

  6. #6
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Je dois être un peu bête, mais je vois pas le rapport avec la question initiale...

    Code sql : 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
     
    create table echange
    (
          user1 int not null,
          user2 int not null,
          quantity int not null
    );
    go
     
    create view v_solde_echange (user1, user2, debit, credit)
    as
    select tmp.user1, tmp.user2, sum(tmp.debit), sum(tmp.credit)
    from
    (
        select user1, user2, quantity debit, 0 credit
        from echange
        union all
        select user2, user1, 0, quantity
        from echange
    ) tmp
    group by tmp.user1, tmp.user2;
    go
     
    insert into echange (user1, user2, quantity) values (1, 2, 512), (2, 1, 133), (2, 3, 15);
    go
     
    select * from echange;
    select user2, debit, credit from v_solde_echange where user1 = 2;

    Un truc de ce genre vous convient ?
    On ne jouit bien que de ce qu’on partage.

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

Discussions similaires

  1. [AC-2003] Traduction en VBA d'une requête Sélection SQL sur plusieurs tables
    Par Pucho Faritas dans le forum VBA Access
    Réponses: 9
    Dernier message: 29/10/2009, 10h32
  2. [ACCESS] Affichage du code SQL d'une requête
    Par cyrille_ dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 03/07/2008, 20h22
  3. [SQL] Simplifier une requête SQL ?
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/04/2006, 13h50
  4. Utilisation d'une fonction Transact-SQL ds une requête SQL
    Par Fl0ppeur dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/02/2006, 13h42
  5. Affecter résultat SQL d'une requête à une variable
    Par bozolozo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/01/2005, 17h37

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