Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2010, 16h32   #1
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Par défaut SELECT et ORDER BY avec une autre table

Bonjour

J'ai deux tables dans ma BDD,

Je voudrais faire un select dans ma première table mais faire un order avec le résultat de l'addition de valeurs présentes dans la deuxième table

par exemple

Citation:
Table 1 : NOM
ID :1
TYPE :restaurant
LIEU :paris

Table 2 : AVIS
LIEN ID TABLE 1 : 1
COTE: 2

LIEN ID TABLE 1 : 1
COTE: 5
mon select serait quelque chose comme cela

Code :
SELECT * FROM NOM WHERE ID=1 ORDER BY COUNT(COTE) AS LIEN ID TABLE 1=1 FROM AVIS
Cela est-il possible?

Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 16h55   #2
Membre confirmé
 
Homme Benjamin
Consultant informatique
Inscription : août 2007
Messages : 160
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 160
Points : 248
Points : 248
Code :
1
2
3
4
SELECT nom.*, SUM(avis.cote) AS cote
FROM nom
LEFT JOIN avis ON avis.lien = nom.id
ORDER BY cote ASC
bhamp0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 19h53   #3
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Merci

Maintenant j'aimerais ajouter un WHERE dans le select

J'ai essayer cela mais j'ai une erreur Unknown column 'restaurant' in 'where clause'


Code :
1
2
3
4
SELECT nom.*, SUM(avis.cote) AS cote
FROM nom
LEFT JOIN avis ON avis.lien = nom.id
WHERE nom.type = restaurant ORDER BY cote ASC
Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 08h58   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Il faut mettre la valeur textuelle restaurant entre apostrophes sinon il croit que c'est le nom d'une colonne d'une table de la requête.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 18h45   #5
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Merci par contre je n'obtiens plus qu'un seul resultat. Il recupere le premier ID qui correspond au select puis arrete.

J'imagine que cela doit venir du :
Code :
SELECT nom.*, SUM(avis.cote)
Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 19h40   #6
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 629
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 629
Points : 2 614
Points : 2 614
Bonjour,

regardez du côté de la clause group by
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 01h57   #7
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Merci effectivement group by etait la solution
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h14.


 
 
 
 
Partenaires

Hébergement Web