[SQL] UNION et alias sur table
Bonjour a tous !
j'ai quatre table :
piece(num_piece,libel_piece, ......)
appareil(num_appareil,libel_appareil, ....,#num_marque)
marque(num_marque,nom_marque)
reparer(#num_piece,#num_appareil)
or je veut selectionner les les piece suivant leur libellé, mais je veut avoir
celle qui repare un appareil ainsi que celle qui n'en repare pas et les classer par
marque. j'espere etre clair.
je pense utiliser l'UNION mais je doit vous avouer que je ne le maitrise pas encore tres bien
voici ma requettre pour l'instant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| SELECT *
FROM (
SELECT *
FROM `piece` , `reparer` , `appareil` , `marque`
WHERE `piece`.`num_piece` = `reparer`.`num_piece`
AND `reparer`.`num_appareil` = `appareil`.`num_appareil`
AND `appareil`.`num_marque` = `marque`.`num_marque`
AND `libel_piece` LIKE '%res%'
UNION
SELECT *
FROM `piece`
WHERE `num_piece` NOT IN
(
SELECT `num_piece`
FROM `reparer`
)
)
GROUP BY `nom_marque` , `libel_piece`
LIMIT 0 , 30 |
et l'erreur
Citation:
#1248 - Every derived table must have its own alias
donc apparement ca porte sur les allias, mais comment on fait pour mettre un allias a une table :oops: je veut dire un champ je vois parfaitemeent mais une table ?
merci d'avance de votre aide