Requete SQL

Résolu/Fermé
thesmarch74 Messages postés 8 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 août 2012 - 7 août 2012 à 15:14
thesmarch74 Messages postés 8 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 août 2012 - 31 août 2012 à 16:50
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 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
8 août 2012 à 23:51
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 lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 281
7 août 2012 à 19:24
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 vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 33
31 août 2012 à 09:24
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 lundi 18 juin 2012 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 16:50
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