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 :

Pb de Logique dans une simple requete


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut Pb de Logique dans une simple requete
    Bonjour,

    Comme le titre l'indique, j'ai un probleme de logique en SLQ (Je debute... ) sur une simple requete "SELECT"

    La situation: J'ai 2 tables A (10 enregistrements) et B (7 enregistrements)
    B contient une partie des informations de A (c'est comme un budget)
    A est la table avec les donnees actuelles

    Le principe: Mettre a jour B a partir des infos de A
    Pour cela je fais un update sur les enregistrements dans B. Tout se passe bien. Le probleme est qu'il me manque (apres la MAJ) 3 enregistrement dans B.

    Je dois donc faire un "INSERT" dans B avec les 3 lignes restantes dans A.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO B
    SELECT *
    FROM A
    WHERE ?????
    La question: Comment faire le select sur les 3 lignes de A qui n'ont pas ete copiees dans B suite a l'update ?

  2. #2
    Membre éclairé
    Homme Profil pro
    SQL Server
    Inscrit en
    Juin 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : SQL Server
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 43
    Par défaut
    Il faut la structure des deux table.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Elles ont exactement la meme structure. Seules les donnees different par le nombre d'enregistrements dans chacune des tables.

    De part le fonctionnement de l'application, la table A contiendra toujours plus d'enregistrements que B

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Voici la stucture des tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE A(
    [DataID] [int] IDENTITY(1,1) NOT NULL,
    [ScenarioYearKey] [int] NOT NULL,
    [OrgID] [int] NOT NULL,
    [DepartmentID] [int] NOT NULL,
    [EmployeeID] [int] NOT NULL,
    [EmployeeAlternativeName] [nvarchar](50) NULL,
    [Value] decimal(3,1) NULL)  'en fait c est une colonne par mois soit 12 colonnes en tout
    idem pour B

    Pour l'update, je fais un "INNER JOIN" sur OrgID, DepartmentID, EmployeeID, EmployeeAlternativeName et ScenarioYearKey

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 119
    Par défaut
    tu veux copier les donées de A vers B enfait ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Oui et non en fait...

    Je veux mettre a jour les infos dans B correspondantes a celles dans A ET inserer dans B les infos au'il y a en plus dans A

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 119
    Par défaut

    Tu ne pourrais pas effacer dans B les lignes qui ne sont plus actuelles (lignes qui se trouvent dans A) et apres insérer les valuers actuelles de A vers B. Et utiliser un "NOT IN" pour ne pas avoir d'erreur de violation de PK

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Non je peux pas effacer ce qu'il y a dans B, je suis oblige de faire un update...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    En fait pour simplifier un peu mon probleme , voici la question a laquelle j'aurais besoin d'une reponse:

    J'arrive tres bien a updater B pour les enregistrements qui correspodent dans A.

    Comment retourner une table contenant les enregistrements de A qui ne sont pas dans B (apres mon update) ??

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Parfait !

    C'est exactement pourauoi j'aime ce forum: simple, rapide, precis... Parfait quoi!

    Merci mat777

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

Discussions similaires

  1. une simple requete
    Par shikakus dans le forum C#
    Réponses: 5
    Dernier message: 07/02/2007, 15h32
  2. integrer deux requetes dans une seule requete access
    Par laurent.w dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 27/12/2006, 15h11
  3. probleme avec une simple requete
    Par nassimmm dans le forum Langage SQL
    Réponses: 11
    Dernier message: 03/08/2006, 17h46
  4. Réponses: 5
    Dernier message: 06/06/2006, 12h14
  5. Probleme de logique dans une requete
    Par linou dans le forum Langage SQL
    Réponses: 11
    Dernier message: 18/03/2005, 19h52

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