Casse Tête SQL - SQL/NoSQL - Programmation
Marsh Posté le 16-10-2005 à 16:35:02
c'est pas tres academique mais un truc du style devrait donner le resultat que tu desires :
Code :
|
Marsh Posté le 16-10-2005 à 20:16:43
Salut betsamee,
la ligne 2 de ton code : faut pas mettre plutot produits comme table ?
Marsh Posté le 18-10-2005 à 11:56:27
FULL JOIN ne marche toujours pas sous MySQL ? (ça remplace avantageusement ce code, en effectuant directement la jointure ouvert des deux côtés)
Marsh Posté le 18-10-2005 à 20:02:38
Arjuna a écrit : FULL JOIN ne marche toujours pas sous MySQL ? (ça remplace avantageusement ce code, en effectuant directement la jointure ouvert des deux côtés) |
non c'est "en projet pour les versions futures"
Marsh Posté le 18-10-2005 à 22:51:55
Et quelque chose du genre :
SELECT produits.id, produits.nom
FROM produits
LEFT JOIN promos ON produits.id=promos.id
ORDER BY ISNULL(promos.id) ASC, produits.id ASC
On fait la jointure avec les promos, et on met en premier ceux pour lesquels on a effectivement trouvé l'id en promo
(bien sur, faut pas qu'un produit apparaisse plusieurs fois dans la table promos )
Marsh Posté le 19-10-2005 à 00:56:56
where promos.id is null est plus simple, et on n'a que les lignes qu'on veut normalement
Marsh Posté le 16-10-2005 à 15:25:46
Salut à tous
J'ai besoin de vos lumières en sql.
Je suis bloqué sur un soucis : j'ai 2 tables, une table qui contient des produits (avec un id), une autre qui contient la liste des ids des produits en promo.
Je voudrais lister la liste des produits, classé par ordre alphabétique, mais avec les produits en promo en premier.
Je suis sous MySql.
Quelqu'un a une idée ?
Merci bcp