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

Développement SQL Server Discussion :

Requête SQL avec plusieurs tables


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Octobre 2012
    Messages : 12
    Par défaut Requête SQL avec plusieurs tables
    Bonjour a tous, je bloque sur une requête et je voudrais vos avis:
    voici les tables :

    terrain
    (id tr_nom tr_adresse id_membre tr_cp tr_ville tr_photo tr_nb_terrains tr_eau tr_transports tr_decoration tr_type_jeu...)

    ville
    (id, ville_name, code_postale)

    je souhaite inserer dans la table suvantes les adresses telque la table adresse est la suivante:

    adresse (id, adresse1, adresse2, id_ville)

    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
     
    INSERT INTO adresse
    (ville_id, adresse1)
     
    select id ,tr_adresse as adr1   
    from ville ,terrains
     
    where ville.id in
    (
      select id from ville 
      where ville_name =
      ( select tr_ville   FROM terrains where  tr_adresse = adr1 ) 
       and code_postale = (select tr_cp  FROM terrains where  tr_adresse = adr1) 
    )
    WHERE NOT EXISTS (
    SELECT 0 FROM adresse WHERE adresse1 = terrains.tr_adresse and ville_id = ville.id
    )
    LIMIT 1;

    merci de corriger

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    Quelle est l'idée derrière cette requête ?

    Tu veux insérer des adresses des terrains qui appartenant à une même ville et qui n'existent pas encore dans la table adresse ?

    Est-ce que cette requête ne serait pas plus simple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INSERT INTO adresse (ville_id, adresse1)
    SELECT v.id ,t.tr_adresse
    FROM ville AS v
    JOIN terrains AS t
     ON v.code_postale = t.tr_cp
      AND v.ville_name = t.tr_ville
    WHERE NOT EXISTS (SELECT 1 
                      FROM adresse 
                      WHERE adresse1 = t.tr_adresse AND ville_id = v.id);
    ++

Discussions similaires

  1. requête SQL avec plusieurs critères de sélection
    Par gailup dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/06/2007, 08h44
  2. Requête : Insert avec plusieurs tables
    Par bleu_ciel dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 21h42
  3. requêtes sql sur plusieurs tables
    Par zahiton dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2005, 10h59
  4. [SQL] requêtes SQL sur plusieurs tables
    Par zahiton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/11/2005, 16h32
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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