Page 1 sur 1
Requete produits, photos
Posté : 30 nov. 2007, 13:17
par pascalbm
Bonjour
J'ai 2 tables, une pour les produits et une pour les photos liée aux produits par id_prod.
J'aimerai afficher les produits qui n'ont pas de photos.
Comment puis je faire dans ma requête ?
Merci d'avance pour votre aide en espérant que je sois compréhensible
Posté : 30 nov. 2007, 13:59
par Berzemus
On peut avoir un aperçu de ta table, avec les différents champs ?
Posté : 30 nov. 2007, 14:08
par pascalbm
Voici une partie de la table produits
Code : Tout sélectionner
CREATE TABLE `fvproduits` (
`id_prod` bigint(20) NOT NULL auto_increment,
`propar` varchar(15) NOT NULL default '0',
`ref_produit` varchar(10) NOT NULL default '',
`date_enr` date NOT NULL default '0000-00-00',
`type` varchar(15) NOT NULL default '0',
`action` varchar(10) NOT NULL default '0',
`sup_total` bigint(20) default '0',
et la table des photos
Code : Tout sélectionner
CREATE TABLE `fv_photo` (
`id_photo` bigint(20) NOT NULL auto_increment,
`id_prod` bigint(20) NOT NULL default '0',
`nom_photo` varchar(50) NOT NULL default '',
PRIMARY KEY (`id_photo`)
) ;
Merci d'avance
Posté : 30 nov. 2007, 14:51
par h0_noMan
Essayes ceci :
Code : Tout sélectionner
SELECT fv_photo.* FROM fv_photo LEFT JOIN fvproduits
ON fv_photo.id_prod=fvproduits.id_prod
WHERE fvproduits.id_prod IS NULL
Posté : 30 nov. 2007, 15:57
par Truc
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "SQL & Bases de données".
Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Posté : 30 nov. 2007, 17:02
par pascalbm
Je te remeci, mais ca n'a pas marché.
voici la requete de base que j'utilise pour afficher les produits ayant des photos
Code : Tout sélectionner
SELECT fvproduits.id_prod, fvproduits.ref_produit, fvproduits.date_enr, type, fvproduits.`action`, fvproduits.date_dispo, fv_photo.id_photo, fv_photo.id_prod, fv_photo.nom_photo
FROM fvproduits, fv_photo
WHERE fv_photo.id_prod=fvproduits.id_prod
GROUP BY fvproduits.id_prod
J'aimerai créer une requete qui, à l'inverse m'afficherai les produits qui n'ont pas de photos
Merci encore
Posté : 30 nov. 2007, 17:26
par Truc
Utilise
une jointure plus "large" avec LEFT
Code : Tout sélectionner
SELECT * FROM fvproduits pr
LEFT JOIN fv_photo po USING (id_prod)
WHERE id_photo IS NULL
Posté : 30 nov. 2007, 17:33
par pascalbm
Merci beaucoup, ca marche maintenant je vais décortiquer ce code pour mieux le comprendre
Posté : 30 nov. 2007, 17:43
par Truc
Pour "décortiquer" exécute bout par bout
Sans "LEFT"
Avec "LEFT"
Code : Tout sélectionner
SELECT * FROM fvproduits pr
LEFT JOIN fv_photo po USING (id_prod)
Avec "LEFT" & "IS NULL"
Code : Tout sélectionner
SELECT * FROM fvproduits pr
LEFT JOIN fv_photo po USING (id_prod)
WHERE id_photo IS NULL
Posté : 30 nov. 2007, 17:47
par pascalbm
Merci beaucoup je m'y atelle de ce pas