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

MS SQL Server Discussion :

[débutant] Comment regrouper deux tables ?


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut [débutant] Comment regrouper deux tables ?
    Bonsoir,

    Voilà j'ai deux tables : compte1 (idno, nom, date1,soldecompte1) et compte2 (idno,nom,date2,soldecompte2)
    J'aimerai récupérer ses données en une seule table compte(idnom, nom,date1,soldecompte1,date2, soldecompte2)
    Comment est-ce possible car l'union ne se fait qu'avec des champs identiques ?

    un grand merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
    into tableresultat
    from compte1, compte2
    -- where compte1.idno=compte2=idno
    Si vous omettez la dernière ligne, la copie se fera mais générera un produit cartésien (somme des lignes = nbre de lignes de compte1 * nbre de ligne de compte2
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    et en faisant ainsi j'aurai :
    tableTerminale (idno,nom,compte1,compte2,date,soldecompte1,soldecompte2) ?

    (car je dois récupérer la date la plus ancienne de l'une ou l'autre table avec un min(date) je pense).
    Merci je vais tester...

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    alors faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select * into #t from Compta1
     
    insert into #t select * from Compta2
     
    select min(date) from #t
    ou un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create view compta1et2
    as
    select * from Compta1
    UNION
    select * from Compta2
     
    select min(date) from compta1et2
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    Merci pour ton aide, mais je ne pense pas que ça marche pour l'union car je n'ai pas le même nombre de champs dans mes tables, le champ date n'existe pas, il faut sélectionner soit date1 soit date2 (la min des deux).
    Ca fait deux jours que je suis dessus mais je finirai bien par trouver ! ;-)

    Encore merci !

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create view compta1et2 
    as 
    select champ1, ChampDate, champ2, ... from Compta1 
    UNION 
    select champ1, NULL, champ2, ... from Compta2 
     
    select min(date) from compta1et2
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    ça marche !

    merci

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

Discussions similaires

  1. [débutant] lien entre deux tables
    Par t-die dans le forum Débuter
    Réponses: 1
    Dernier message: 03/02/2006, 20h36
  2. Comment lier deux tables (0-1;1-1) ?
    Par tsing dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 22/02/2005, 13h36
  3. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45
  4. [Débutant] Union de deux tables
    Par nyarla01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/03/2004, 10h40
  5. regrouper deux tables
    Par Shabata dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/05/2003, 15h02

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