Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 26/03/2011, 22h46   #1
Candidat au titre de Membre du Club
 
Homme philippe tchaidjian
salarié
Inscription : mars 2011
Messages : 49
Détails du profil
Informations personnelles :
Nom : Homme philippe tchaidjian
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : salarié
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 49
Points : 13
Points : 13
Par défaut requête SQL sur base access

Bonsoir à tous

pouvez-vs m'aider svp à écrire la requête suivante.

Ds une base Access, on a la table T_Clients (16 enregistrements .
Un champ de cette table est le code client, clef primaire de la table.

Il s"agit d'écrire une requête dt le résultat sera exportable sous forme d'une table de 15 enregistrements, chaque enregistrement comportant - dans l'ordre alphanumérique - un code client et le suivant. ==> table à 2 champs.

La création du 1er champ, pas de pb

par contre pr créer la table à 2 champs je n'y arrive pas. Voici mon script qui me renvoie 225 (soit 15 * 15) enregistrements.

Je pense que c'est un problème de tri (produit cartésien) que je n'arrive pas à résoudre :
Code sql :
1
2
3
4
 
SELECT DISTINCT c.Ncli AS PrecNcli, b.Ncli AS SuivCli
FROM T_Client AS c, (SELECT DISTINCT NCLI FROM T_Client  WHERE NCli > (SELECT Min(NCLI) FROM T_Client))  AS b
WHERE c.Ncli <(SELECT Max(c.Ncli) FROM T_Client c);

Merci de m'aider svp
pppa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2011, 08h19   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonjour,
Créer une première requête
Code :
1
2
3
4
5
6
 
SELECT T_Clients.NCli, T_Clients_1.NCli
FROM T_Clients, T_Clients AS T_Clients_1
GROUP BY T_Clients.NCli, T_Clients_1.NCli
HAVING (((T_Clients_1.NCli)>[T_Clients]![NCli]))
ORDER BY T_Clients.NCli, T_Clients_1.NCli;
on utilise 2 fois la même table dans la requête (Requête1)
puis une seconde (Requête2) intégrant la première
Code :
1
2
3
4
 
SELECT T_Clients.NCli, Min(Requête1.T_Clients_1.NCli) AS MinDeT_Clients_1_NCli
FROM T_Clients INNER JOIN Requête1 ON T_Clients.NCli = Requête1.T_Clients.NCli
GROUP BY T_Clients.NCli;
On lie de nouveau la table T_Client avec la requete créée précédemment
pour NCli allant de 1 à 16, cela m'affiche
1 2
2 3
3 4
...
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web