Accueil > Forum > > > > Probleme avec une requete
Probleme avec une requete
lundi 15 août 2005 à 01:50:26 |
Probleme avec une requete

deadstar2
|
Bonjour à tous,
Je n'ai pas un excellent niveau en sql, j'aimerais faire appel à vos connaissances pour une requete dont je n'arrive pas à obtenir ce que je veux:
J'utilise 4 tables : annonces a, annonces b, users c et photos d
Voici la requete:
SELECT c.*,
d.*,
b.type_a,b.id,b.ville,b.cp,b.pays,b.loyer,b.description,b.h_f,
a.id AS idann
FROM annonces a,annonces b,users c,photos d
WHERE b.ville=a.ville AND b.id_user=c.id AND a.type_a!=b.type_a AND b.online='1'
ORDER BY a.id_user ASC
J'aimerais que si il y a une photo qui corresponde à une annonce (donc d.id_annonce=b.id), ma requete retourne dans la ligne de resultat le champs nom de la photo et si il y en a pas , mais qu'elle retourne un champs vide dans la ligne de résultat
si je rajoute dans la clause WHERE la condition "AND d.id_annonce=b.id", cela ne fonctionne que si il existe effectivement une image
J'espere que j'ai été assez clair, j'ai un peu de mal a parler SQL mais je pense qu'on va se comprendre ;)
Merci d'avance!
|
|
lundi 15 août 2005 à 10:34:11 |
Re : Probleme avec une requete

nhervagault
|
SELECT c.*,
d.*,
b.type_a,b.id,b.ville,b.cp,b.pays,b.loyer,b.description,b.h_f,
a.id AS idann
FROM annonces a,
INNER JOIN annonces b,
ON b.ville=a.ville
INNER JOIN users c
ON b.id_user=c.id
LEFT JOIN photos d
ON d.id_photo = a.id_photo
WHERE a.type_a!=b.type_a AND b.online='1'
ORDER BY a.id_user ASC
Le left join est sans doute la solution que tu recherches
J'ai mis le lien sur annonce ?
Sinon pourquoi utilises - tu deux fois la tables des annonces dans la requetes.
C'est peut etre pour une demande particuliere externes au probleme.
Car pour repondre aux probleme posé, la table annonces n'a pas besoin d'etre dupliquee.
|
|
lundi 15 août 2005 à 16:21:55 |
Re : Probleme avec une requete

deadstar2
|
Salut, merci pour ta réponse ! je vais essayer de comprendre le principe de foncitonnement...
pour les 2 tables c est parcequ'en fait il y a d'autre condition que je n'ai pas affiché pour simplifer sinon elle faisait le double de taille... mais elle sert parceque'il il y en a une qui est utilisée car c'est une annonce de demande et l'offre une annonce d'offre et il faut verifier que l'une est bien une demande et l'autre une offre.
En tout cas merci je vais regarder ta solution de ce pas et vous retient au courant!
|
|
lundi 15 août 2005 à 16:45:47 |
Re : Probleme avec une requete

deadstar2
|
en fait, est quand tu me parles de la table annonces en double, pour toi il y aurait une autre solution plus simple ? si oui ça peut m'intéresser :)
|
|
lundi 15 août 2005 à 17:14:26 |
Re : Probleme avec une requete

deadstar2
|
Ca marche nikel avec les inner join grand merci tu es fantastique ;)
petite question pendant que j'y suis, il si il y a plusieurs photos qui correspondent a une annonce, ça renvoie plusieurs lignes, y aurait il possibilité de limiter a la premiere trouvée? un peu comme un limit sur le inner join ? merci
|
|
lundi 15 août 2005 à 18:00:55 |
Re : Probleme avec une requete

nhervagault
|
Réponse acceptée !
Salut,
Pour la reponse , il y a t'il une autre solution que doubler les tables;
Si tu as les structures que tu presente rapidement.
Type = demande ou offre, je ne pense pas qu'il y a d'autre solution.
Sinon
Pour la deuxieeme question,
Le limit et le top peuvent repondre à ta question sur certaine base.
...
Je te laise chercher la solution
Je n'ai pas la structure des tables.
mais dans certain SQL tu peux mettres les select partout
exemple dans le select
dans le from
dans le where
Dans le having ?
Mais le groupby a plus de chance de fonctionner pour ta reponse
Je parts duprincipe que tu utilises un champs text pour mettre le chemin de la photo.
select b.type_a,b.id,b.ville,b.cp,b.pays,b.loyer,b.description,b.h_f,
a.id AS idann, max(d.chemin_photo)
from .....
where ....
order by a.id_annonce, d.id_photo
Group by b.type_a,b.id,b.ville,b.cp,b.pays,b.loyer,b.description,b.h_f,
a.id
|
|
Cette discussion est classée dans : type, and, requete, id, annonces
Répondre à ce message
Sujets en rapport avec ce message
Problème de dates [ par gabrenicolas ]
Bonjour à tous, Bon j'ai un problème de date: en effet dans un formulaire, je calcul le nombre d'activité faite par jour dans une colonne A, dans la
Requête complexe avec jointures, rollup et calculs [ par kfran85 ]
Voici mon problème: Je dois faire une requête pour calculer les commissions sur ventes de commerciaux J'ai cette requête qui me donne bien les montan
Optimisation SQL [ par master2i ]
Bonjour à tous, j'ai un tri par couleur à réaliser qui met en jeu plusieurs tables SQL, je l'ai réalisé mais le temps de chargement de ma page est pas
requete sql [ par moustaine84 ]
slt je cherche une requete qui fait l'insertion des des champs dans deux tableaux prmier tableua a(id-a,nom, prenom) et l 2eme tableau b(id-b,id-a,ag
problème de requete sql avec un delete et un select imbriquer avec un order by [ par flachkiller ]
Bonjour, je voudrai savoir comment résoudre se problème : j'ai une requête qui est la suivante : SELECT id_requete, ( SELECT ip FROM machine WHERE
Procedure de recherche [ par hardzip ]
Bonjour tout le mondeJe suis actuellement entrain de mettre en place un formulaire de recherche avec asp et .NET et j'ai un probleme qui me bloque de
Requete de classement avec plusieurs tables [ par slider04 ]
Bonjour, j'ai deux tables, une table client et une table temps. je souhaiterais en ressortir le classement de temps selon le niveau et le sexe pour le
Pb Requete SQL JOIN [ par gabrenicolas ]
Bonjour à tous, Petit problème avec le code suivant ca ne passe pas JOIN error... Quelqu'un pourrait-il éclairer ma lanterne... le code:[code=vb
Concatener dans une requete sql [ par gabrenicolas ]
Bonjour à tous , Petit problème, pour une fois la requête fonctionne nickel cependant j'ai un problème avec ma concatenation.. Il y aurait-il un pr
utiliser le resultat d'une requete en tant que colonne [ par deathh ]
Bonjour, Je suis débutant en SQL et j'ai beaucoup cherché mais je ne dois être passé à coté des mot clé, j'imagine... Voila mon souci: j'ai une table
Livres en rapport
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|