|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Date d'inscription: mai 2006
Messages: 18
|
Bonjour,
je suis debutant en SQL et je cherche a fusioner des tables. donner d'entrée: Code :
+----------------------------+ | Tables_in_schema_en_etoile | +----------------------------+ | f | | f1 | | f2 | | g | | g1 | | g2 | | h | | h1 | | h2 | | q | +----------------------------+ 10 rows IN SET (0.00 sec) mysql> SELECT * FROM h; +-------+---------+ | O | Product | +-------+---------+ | test5 | test6 | +-------+---------+ 1 row IN SET (0.00 sec) mysql> SELECT * FROM g; +-------+-------+ | O | Store | +-------+-------+ | test3 | test4 | +-------+-------+ 1 row IN SET (0.00 sec) mysql> SELECT * FROM f; +--------+--------+ | O | Date | +--------+--------+ | test1 | test2 | | test44 | test45 | +--------+--------+ 2 rows IN SET (0.00 sec) mysql> SELECT * FROM q; +-------+-------+ | O | Qty | +-------+-------+ | test7 | test8 | +-------+-------+ et je cherche a obtenir le resultat suivant: Code :
+-------+---------+-------+--------+-------+ | O | Product | Store | Date | Qty | +-------+---------+-------+--------+-------+ | test5 | test6 | NULL | NULL | NULL | +-------+---------+-------+--------+-------+ | test3 | NULL | test4 | NULL | NULL | +-------+---------+-------+--------+-------+ | test1 | NULL | NULL | test2 | NULL | +-------+---------+-------+--------+-------+ |test44 | NULL | NULL | test45 | NULL | +-------+---------+-------+--------+-------+ | test7 | NULL | NULL | NULL | test8 | +-------+---------+-------+--------+-------+ merci d'avance. |
|
|
|
|
|
#2 |
![]() Nom : Antoine Dinimant
Date d'inscription: octobre 2006
Localisation: Paris
Âge: 39
Messages: 5 218
|
Je te propose de commencer par créer une table recensant les "O" :
Code :
CREATE TABLE ListeO AS SELECT O FROM f UNION SELECT O FROM f1 UNION SELECT O FROM f2 UNION SELECT O FROM g UNION SELECT O FROM g1 UNION SELECT O FROM g2 UNION SELECT O FROM h UNION SELECT O FROM h1 UNION SELECT O FROM h2 UNION SELECT O FROM q ; Code :
SELECT O, h.Product, g.Store, f.Date, q.Qty FROM ListeO AS L LEFT JOIN h ON L.O = h.O LEFT JOIN g ON L.O = g.O LEFT JOIN f ON L.O = f.O LEFT JOIN q ON L.O = q.O
__________________
Antoun Expert SQL, BO, Essbase |
|
|
|
|
|
#3 |
|
Invité régulier
![]() Date d'inscription: mai 2006
Messages: 18
|
j'ai essayé ta proposition il me dit que la colone 0 est ambigue.
Code :
ERROR 1052 (23000): COLUMN 'O' IN FIELD list IS ambiguous merci. |
|
|
|
|
|
#4 |
|
Invité régulier
![]() Date d'inscription: mai 2006
Messages: 18
|
j'ai resolu le probleme avec la requete:
Code :
SELECT L.O, h.Product, g.Store, f.Date, q.Qty FROM ListeO AS L LEFT JOIN h ON L.O = h.O LEFT JOIN g ON L.O = g.O LEFT JOIN f ON L.O = f.O LEFT JOIN q ON L.O = q.O |
|
|
|
|
|
![]() |
||
Probleme pour fusionner des tables.
|
||
| Outils de la discussion | |
|
|