Problème SQL
Résolu/Fermé
domie81
Messages postés
72
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2010
-
10 févr. 2009 à 17:00
Psyk974 Messages postés 551 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 30 mars 2010 - 10 févr. 2009 à 17:43
Psyk974 Messages postés 551 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 30 mars 2010 - 10 févr. 2009 à 17:43
A voir également:
- Problème SQL
- Logiciel sql - Télécharger - Bases de données
- Sql replace plusieurs valeurs - Forum Programmation
- Requete sql pix - Forum PHP
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
- Requête sql date supérieure à ✓ - Forum Programmation
10 réponses
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:10
10 févr. 2009 à 17:10
Bonjour,
SELECT DISTINCT Place.N_Place
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]));
Ensuite tu comptes le nombre de ligne que te renvoi la requête
Mais la je sais pas c'est quoi ton langage de programmation...
SELECT DISTINCT Place.N_Place
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]));
Ensuite tu comptes le nombre de ligne que te renvoi la requête
Mais la je sais pas c'est quoi ton langage de programmation...
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
10 févr. 2009 à 17:13
10 févr. 2009 à 17:13
Bonjour,
et si tu fais SELECT DISTINCT COUNT (Place.N_Place)
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]));
cela te renvoie ce que tu souhaite ou pas?
et si tu fais SELECT DISTINCT COUNT (Place.N_Place)
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]));
cela te renvoie ce que tu souhaite ou pas?
domie81
Messages postés
72
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2010
65
10 févr. 2009 à 17:15
10 févr. 2009 à 17:15
Merci mais j'ai en fait un dossier a faire et je dois faire une requete qui doit me donner le nombre de place, d'où le count!
Sinon oui je pourrais compter manuellement mais c'est pas ça qu'on me demande!
Merci quand même.
Sinon oui je pourrais compter manuellement mais c'est pas ça qu'on me demande!
Merci quand même.
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:18
10 févr. 2009 à 17:18
SELECT COUNT (Place.N_Place)
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]))
GROUP BY Place.N_Place;
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]))
GROUP BY Place.N_Place;
domie81
Messages postés
72
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2010
65
10 févr. 2009 à 17:17
10 févr. 2009 à 17:17
Bonjour loic,
Ben non ça marche toujours pas, ça ne me donne plus d'erreur mais un nombre complètement faux!
Ben non ça marche toujours pas, ça ne me donne plus d'erreur mais un nombre complètement faux!
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:18
10 févr. 2009 à 17:18
SELECT COUNT (Place.N_Place)
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]))
GROUP BY Place.N_Place;
fait comme ça
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]))
GROUP BY Place.N_Place;
fait comme ça
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
10 févr. 2009 à 17:19
10 févr. 2009 à 17:19
ok, donc essaye :
SELECT DISTINCT Place.N_Place AS Place
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]));
HAVING Count(Place)
Group By Place
si cela fonctionne pas, je voit pas trop.
SELECT DISTINCT Place.N_Place AS Place
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]));
HAVING Count(Place)
Group By Place
si cela fonctionne pas, je voit pas trop.
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:21
10 févr. 2009 à 17:21
Non comme ça
SELECT COUNT (Place.N_Place)
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]))
GROUP BY Place.N_Place;
SELECT COUNT (Place.N_Place)
FROM Place, Type_Place, Location, Representation
WHERE (((Representation.Date)=#3/30/2009#
And (Representation.Date)=[Location].[Date])
AND ((Type_Place.Id_Type)=4) AND ((Place.Id_Type)=[Type_Place].[Id_Type])
AND ((Place.Id_Place)<>[Location].[Id_Place]))
GROUP BY Place.N_Place;
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
10 févr. 2009 à 17:23
10 févr. 2009 à 17:23
c'est une proposition que je donne après, il choisit celle qui souhaite et celle qui fonctionne.
Mais s'il veux rajouter le distinct, dans ta requête il le met où??
Mais s'il veux rajouter le distinct, dans ta requête il le met où??
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:24
10 févr. 2009 à 17:24
C'est le group by qui fera le DISTINCT....
Et ton HAVING Count(place) il sert à rien si tu le compare à rien lol
Et ton HAVING Count(place) il sert à rien si tu le compare à rien lol
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
10 févr. 2009 à 17:27
10 févr. 2009 à 17:27
ok, j'avoue sur le having, je trouvé cela bizarre mais c'était son distinct qui me bloqué en faite.
si tu affirme que le group by fera le distinct (intéressant à savoir!!) ben je lui conseil de faire ta solution.
si tu affirme que le group by fera le distinct (intéressant à savoir!!) ben je lui conseil de faire ta solution.
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:29
10 févr. 2009 à 17:29
Je t'explique :
La requête sans group by va donner ça
element1 | 5
element1 | 5
element1 | 5
element2 | 3
element2 | 3
...
Donc le group by va regrouper tout ça pour donner :
element1 | 5
element2 | 3
...
Capiche ?
La requête sans group by va donner ça
element1 | 5
element1 | 5
element1 | 5
element2 | 3
element2 | 3
...
Donc le group by va regrouper tout ça pour donner :
element1 | 5
element2 | 3
...
Capiche ?
domie81
Messages postés
72
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2010
65
10 févr. 2009 à 17:31
10 févr. 2009 à 17:31
Le deux ne marchent toujours pas,
mais la proposition de psy correspond au moins à un chiffre!
mais la proposition de psy correspond au moins à un chiffre!
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:33
10 févr. 2009 à 17:33
Si tu group by pas ça te donne quoi comme resultat ?
Donne nous quelques exemples
Donne nous quelques exemples
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
10 févr. 2009 à 17:36
10 févr. 2009 à 17:36
ok, psyK je comprend mieux.
domie81
Messages postés
72
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2010
65
10 févr. 2009 à 17:41
10 févr. 2009 à 17:41
sans group by c'est pareil...
en fait je fait une requete pour savoir combien de places de spectacles n'ont pas été louée.
quand je fais ma requete ca me donne comme réponse le nombre de place qui ne correspondent pas aux place loué et pas le nombre de places qui n'ont pas été louée...
en fait je fait une requete pour savoir combien de places de spectacles n'ont pas été louée.
quand je fais ma requete ca me donne comme réponse le nombre de place qui ne correspondent pas aux place loué et pas le nombre de places qui n'ont pas été louée...
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
10 févr. 2009 à 17:43
10 févr. 2009 à 17:43
D'accord donc ta requête de depart n'est meme pas bonne.
Résout déjà ton problème de requête ensuite on en reparle
Résout déjà ton problème de requête ensuite on en reparle