Requete SQL

Résolu
thesmarch74 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
thesmarch74 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais, lister le contenu de 2 tables qui ont des colonnes différentes, sauf deux: "date" et "heure"

Select
Le problème d'un select sur mes deux tables c'est qu'il va bien m'afficher le contenu de mes tables mais il va aussi répéter la colonne date deux fois et la colonne heure deux fois également.

Join
Le problème avec les différents Join c'est qu'ils m'affichent pas toutes mes lignes, en effet il n'affichent que lorsque les dates, ou les heures concordent.

Resultat souhaité
Obtenir la liste du contenu de mes deux tables avec une seule colonne date, et une seule colonne heure.

Merci d'avance!

4 réponses

moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Salut Themarsh

Join entre 2 table ne va te ramener que les lignes et uniquement celle qui exisent dans la table A et B.
Si tu veux remonter toute les lignes des 2 tables sans faire une jointure, faut passer par un UNION.

Pour bien pouvoir t'aider. Ecrit la matrice du tableau que tu veux.
1
flokocha Messages postés 1510 Date d'inscription   Statut Membre Dernière intervention   281
 
Je n'ai pas très bien saisi ce que tu souhaites obtenir. Est-ce que le contenu des deux tables est totalement indépendant l'un de l'autre, ou est-ce qu'il existe un lien quelconque entre les deux ?

Car dans le premier cas il s'agirait de rassembler sur une même ligne des données qui n'ont rien à voir entre elles, et j'ai alors du mal à saisir l'intérêt de la chose...
0
malaik5 Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   33
 
Bonjour

Join
Le problème avec les différents Join c'est qu'ils m'affichent pas toutes mes lignes, en effet il n'affichent que lorsque les dates, ou les heures concordent.


si ce n'est pas ça que tu veux, il ne faut pas utiliser le join parce que le join (dans sa définition) ne t'affichera que les colonnes existantes dans les tables A et B

et si tu veux afficher que une seule fois date et heure il faudra le preciser

exemple:
select a, b, c, .... date.A, heure.A ... from A ....


toute façon je n'arrive pas à te donner un exemple très explicatif,

peux-tu nous poster les colonnes de tes deux tables ainsi que la requete utilisée ?
0
thesmarch74 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai finalement suivi la réponse de moderno31 en utilisant un UNION et ça fonctionne comme voulu:

INSERT INTO compare_A_et_B

SELECT 'Date','Time','A',Origin,Equipment,MsgCode,MsgType,Description,Condition FROM table_A
UNION ALL
SELECT 'Date','Time','B',SourceFile,nb,SfwtModule,TraceLevel,Description
FROM table_B

Et dans ma table compare_A_et_B j'ai des nom de colonne comme ça :
Date, Time, Type, Origin/SourcFile, Equipmenent/nb, ...

Merci a tous pour votre aide
0