Problème requete SQL avec ASP.

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Le_Phasme
WRInaute accro
WRInaute accro
 
Messages: 1437
Inscription: Ven Juil 04, 2003 13:05

Problème requete SQL avec ASP.

Message le Mer Juin 30, 2004 16:54

Voici la structure de ma table (simplifiée)

[Apt ]
#aptID
aphoto
atype
...

[Availabilities]
#AID
aaptid
afrom
ato

Voici ce que je veux faire sachant que aaptid est en fait a mettre en relation avec aptID et que y'a plusieurs afrom par aptid.
Je veux donc selectionner aptID,aphoto,atype,afrom (le 1er afrom seulement) pour chaque APT.

Mon problème bah j'y arrive pas ! A chaque fois ca me prends tous les afrom... et donc fait grossir mon recordset en enregistrant plusieurs fois chaque apt alors qu'il le faut qu'une seule fois.

Merci pour votre aide.

Guillaume


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: Lun Juil 28, 2003 15:58

Message le Mer Juin 30, 2004 16:58

Faudrait que t'utilise deux requête.
La première récupère tous les AID et les aaptid de la table Availabilities en GROUP BY et la deuxième récupère les infos en relation aaptid et aptID

Heu... C'est assez clair ?


Le_Phasme
WRInaute accro
WRInaute accro
 
Messages: 1437
Inscription: Ven Juil 04, 2003 13:05

Message le Mer Juin 30, 2004 18:28

BadProcESs a écrit:Faudrait que t'utilise deux requête.
La première récupère tous les AID et les aaptid de la table Availabilities en GROUP BY et la deuxième récupère les infos en relation aaptid et aptID

Heu... C'est assez clair ?


Non pas du tout...
Group by j'sais pas ce que ca fait en plus ...


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Mer Juin 30, 2004 18:59

Tu entends quoi par "le premier aform" ? Le premier dans quel sens ?

Fred


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: Lun Juil 28, 2003 15:58

Message le Mer Juin 30, 2004 19:26

Heu... Bah ca vas pas être simple alors.
C'est une base access ? Si oui, t'a qua me mailer une petite base avec juste ces 2 tables et quelques fausses valeurs que je te fasse une petite requête qui va bien, parceque là je sais pas trop comment t'expliquer...


Le_Phasme
WRInaute accro
WRInaute accro
 
Messages: 1437
Inscription: Ven Juil 04, 2003 13:05

Message le Mer Juin 30, 2004 19:53

aFrom est un champ date.
Il faut prendre la date la plus recente.

Et donc sortir tous les apartments avec les infos tirées de APT et sa date de dispo.

Guillaume
Ps : POur le mail , pas avant demain matin.


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Mer Juin 30, 2004 20:59

Code: Tout sélectionner
SELECT aptID, aphoto, atype, MIN(afrom) , ato
FROM Apt
INNER JOIN Availabilities ON aaptid = aptID
GROUP BY aptID
ORDER BY aptID


Ca fait ce que tu veux, je crois (sous réserve que Access gère les jointures, la fonction MIN(), tout ça :D).

Fred


Le_Phasme
WRInaute accro
WRInaute accro
 
Messages: 1437
Inscription: Ven Juil 04, 2003 13:05

Message le Mer Juin 30, 2004 22:34

Je te dis ca demain matin vers 9h30-10h00...


Le_Phasme
WRInaute accro
WRInaute accro
 
Messages: 1437
Inscription: Ven Juil 04, 2003 13:05

Message le Jeu Juil 01, 2004 9:13

Ca marche pas.
Expression de jointure non supportée qu'il me mets !
De plus, après le Min ... il aime pas non plus ...

Guillaume


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Jeu Juil 01, 2004 9:28

Change de base, alors :D Non, sérieusement je sais pas, apparemment Access gère les jointures mais il faut peut-être une syntaxe particulière. Quant à MIN(), on dirait que dans Access cette fonction n'accepte que des valeurs numériques. Y'a ptet autre chose pour les dates, ou alors il faut la convertir... Bref, tout doit être expliqué dans les docs, bonne lecture ;)

Fred


Le_Phasme
WRInaute accro
WRInaute accro
 
Messages: 1437
Inscription: Ven Juil 04, 2003 13:05

Message le Jeu Juil 01, 2004 9:36

George Abitbol a écrit:Change de base, alors :D Non, sérieusement je sais pas, apparemment Access gère les jointures mais il faut peut-être une syntaxe particulière. Quant à MIN(), on dirait que dans Access cette fonction n'accepte que des valeurs numériques. Y'a ptet autre chose pour les dates, ou alors il faut la convertir... Bref, tout doit être expliqué dans les docs, bonne lecture ;)

Fred


Bah etant developpeur, je pense que je vais garder celle qui me genere pleins de résultats puis travailler les résultats pour virer les doublons ... soit une belle optimisation lol

Temps d'execution 5 min donc 4min99 de traitement post requete ;-)

orban
Nouveau WRInaute
 
Messages: 8
Inscription: Jeu Juil 01, 2004 15:01

type de db

Message le Jeu Juil 01, 2004 17:02

Bonjour,

C'est bien une DB ACCESS ? ou SQL SERVER

EN ACCESS

SELECT Max(Availabilities.afrom) AS MaxDeafrom, Apt.atype, Apt.aphoto, Apt.aptID
FROM Availabilities INNER JOIN Apt ON Availabilities.aaptid = Apt.aptID
GROUP BY Apt.atype, Apt.aphoto, Apt.aptID;



si j'ai bien compris...


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités