Requete inner join

Répondre
BigZ[SHN]
le 12/02/2008 à 19:35
BigZ[SHN]
Bonjour,

j'ai un souci avec une requete sur 2 tables.

J'ai 1 table "car"
- id
- marque
- modele

et une 2ème "pics"
- id
- id_car
- chemin

Donc le lien entre les 2 tables c'est car.id et pics.id_car.

Voici donc ce que j'ai deja fait :

SELECT car.*, pics.chemin FROM car INNER JOIN pics WHERE type='$type' ON car.id=pics.id_car


Cette requete fonctionne un peu, mais ce que j'aimerai faire c'est cela :

Afficher une liste de toutes mes voitures avec 1 photo, la marque, et le modèle.

Donc j'aimerai aller chercher le chemin de la photo dans ma table pics et la marque et le modèle dans la table car.

Il faut savoir qu'une voiture peux avoir plusieurs photos, et que j'aimerai afficher que la première. Et aussi que certaines voitures peuvent ne pas avoir de photo donc j'aifficherai une photo par défaut.

Est-ce possible en 1 seule requete ?

Merci

BigZ
BigZ[SHN]
le 12/02/2008 à 19:59
BigZ[SHN]
oups, la requete que j'utilise c'est celle là :

SELECT car.*, pics.chemin FROM car INNER JOIN pics ON car.id=pics.id_car WHERE type='$type'


l'autre c'étais un test
BigZ[SHN]
le 12/02/2008 à 20:29
BigZ[SHN]
Ok donc quand j'utilise inner join il me sors toutes les voitures qui ont des photos, mais comment mettre un limit pour qu'il ne prenne qu'une photo (là il me le sors autemps de fois qu'il y a des photos)

Et quand j'utilise Left join, il me sors seulement ceux qui n'ont pas de photos...

Me faudrai un mix entre les 2 en fait...smiley
LA GLOBULE
le 12/02/2008 à 21:22
LA GLOBULE
T'as du merder un truc car justement le LEFT JOIN est une jointure qui retourne NULL pour l'élément joint si il n'est pas trouvé tout en gardant les éléments de la table principale.

Cela devrait donc tout te sortir.

Ensuite, pour le coup de juste la première photo, tu peux faire un GROUP BY sur l'id de la voiture (si la photo est bien la seule donnée variable).
Keika
le 12/02/2008 à 22:25
Keika
SELECT car.*, pics.chemin FROM car INNER JOIN pics ON car.id=pics.id_car WHERE type='$type'


La tu as pics.id_car, mais tu ne mets pas pics.id_car apres le select, je croyais qu'il fallait selectionner ce qu'on traitait ?
Le PHP --> C'est dur !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours