Problème SQL
Résolu
domie81
Messages postés
72
Date d'inscription
Statut
Membre
Dernière intervention
-
Psyk974 Messages postés 551 Date d'inscription Statut Membre Dernière intervention -
Psyk974 Messages postés 551 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un souci de syntaxe... voici ma requête :
SELECT COUNT (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]));
quand j'execute celle ci j'ai un message d'erreur :
erreur de syntaxe (opérateur absent) dans l'expression "COUNT (DISTINCT Place.N_Place)
Je ne sais pas quoi faire!
Merci d'avance.
J'ai un souci de syntaxe... voici ma requête :
SELECT COUNT (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]));
quand j'execute celle ci j'ai un message d'erreur :
erreur de syntaxe (opérateur absent) dans l'expression "COUNT (DISTINCT Place.N_Place)
Je ne sais pas quoi faire!
Merci d'avance.
A voir également:
- Problème SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
- Sql query download - Télécharger - Gestion de données
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
10 réponses
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...
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?
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.
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;
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!
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
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.
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;
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ù??
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.