Sql requete sur une mm table

Fermé
marie laure - 9 août 2004 à 17:47
 marie laure - 10 août 2004 à 10:37
bonjour,

j ai une table article dans la quelle se trouve les champs suivant
CLASSEMENT et ARTICLE,
je voudrais creer a partir de cette table la table classement
avec comme champ id_classment, id_pere et id_fils
ou id_pere correspond au champ classement de la table
article et id_fils au champ article,
et je souhaite recuperer les id_article de classement et article
qui appartiennent a la table art (id_article, code_article, libelle_article) car classement et article sont des code article qui
sont deja mis dans la table art

voici ma requete

select id_article as id_pere, id_article as id_fils
from articles inner join art as t1 on
t1.classement = code_article left join art
as t2 on t2.article=code_article;

pour le moment ce n est pas une requete de creattion car
celle ci ne marche deja pas

j ai une erreur de syntaxe mais je ne trouve pas ou ?
merci

5 réponses

quel type de base de donnee?
0
c est la base de donne mysql mais je pourrais pas te dire la version
0
si c mysql je ve essayer de t'aider
je pense qu'une jointuferai l'afaire
select ??? from atr as art1, art as art2 where ???


je doit partir, si t'a pas trouve on vera ca demain.
0
j ai toujours une erreur de syntaxe, voici ma requete

select id_article as id_pere, id article as id_fils
from art, article as t1, article as t2
where t1.CLASSEMENT = code_article and t2.ARTICLE=code_article;
0
je n ai plus d erreur mais j ai plus ARTICLE que de CLASSEMENT
je dois faire une jointure droite, parce que
avec cette requete

select id_article as id_pere, id_article as id_fils
from articles, article as t1, article as t2
where t1.CLASSEMENT = code_article and t2.ARTICLE=code_article;

j obtient autant de champ d un cote que de l autre
0
essaye de metre ca
select t1.id_article as id_pere, t2.id article as id_fils 
from art, article as t1, article as t2 
where t1.CLASSEMENT = code_article and t2.ARTICLE=code_article;
0
dans ma table article, il n y a pas de champ id_article,
ce champ n est que dans la table art

table art
------------------------------------------------
id_article | code_article | libelle_article | ------------------------------------------------
1 | 100 001 | Zamack en pl|
2 | 100 003 | Zamack en pl|
3 | 100 004 | Zamack en pl|

table article

------------------------------
classement | article |
------------------------------
100 003 | 100 001 |
100 003 | 100 003 |
100 003 | 100 004 |


voici la table que j aimerai obtenir

table classement
------------------------------------------
id_classement | id_pere | id_fils | ------------------------------------------
1 | 2 | 1 |
2 | 2 | 2 |
3 | 2 | 3 |

en sachant qu il a plus d article dans la table article
que de classement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alors, c art qui doit etre jointe 2 fois avec art1 et art2
et non pas article

select art1.id_article as id_pere, art2.id_article as id_fils 
from article, art as art1, art as art2 
where article.CLASSEMENT = art1.code_article and article.ARTICLE=art2.code_article; 
0
merci beaucoup ca marche :)
0