OVH Cloud OVH Cloud

Tri partiel dans une table

12 réponses
Avatar
Francky de Lille
Bonjour,

Je voudrais créer un tri partiel dans une table, je m'explique :

soit la table suivante
Colonne A Colonne B
1 A
2 A
3 A
4 B
5 C
6 D
7 B
8 D
9 C
10 B

Je voudrais avoir cela
Colonne A Colonne B Colonne C
1 A 1
2 A 2
3 A 3
4 B 1
5 C 1
6 D 1
7 B 2
8 D 2
9 C 2
10 B 3

J'ai essayer de faire une requête avec un champs calculé mais j'ai pas
réussi.

Si quelqun à une idée pour m'aider merci d'avance

Franck

2 réponses

1 2
Avatar
Francky de Lille
"Michel__D" a écrit dans le message de
news: h6jama$l2s$
Bonjour,

"Francky de Lille" a écrit dans le
message de news: 4a8d0009$0$20867$

"Michel__D" a écrit dans le message
de news: h6gldt$tn2$
Bonjour,

"Francky de Lille" a écrit dans le message de
news: 4a8b12ea$0$1571$
Bonjour,

Je voudrais créer un tri partiel dans une table, je m'explique :

soit la table suivante
Colonne A Colonne B
1 A
2 A
3 A
4 B
5 C
6 D
7 B
8 D
9 C
10 B

Je voudrais avoir cela
Colonne A Colonne B Colonne C
1 A 1
2 A 2
3 A 3
4 B 1
5 C 1
6 D 1
7 B 2
8 D 2
9 C 2
10 B 3

J'ai essayer de faire une requête avec un champs calculé mais j'ai pas
réussi.

Si quelqun à une idée pour m'aider merci d'avance

Franck



Essaye avec cette requête en mode SQL :

SELECT T1.ColonneA, T1.ColonneB, Count(T2.ColonneB) AS ColonneC
FROM LaTable AS T1 INNER JOIN LaTable AS T2
ON T1.ColonneB = T2.ColonneB And T1.ColonneA >= T2.ColonneA
GROUP BY T1.ColonneB, T1.ColonneA
ORDER BY T1.ColonneA;




Cela fonctionne mais il me demande à chaque ouverture de la requête une
valeur de paramètre pour _T2.ColonneB ?
Comment est-ce que cela se fait ?

Franck



Erreur de saisie de ta part car il n'y a pas d'alias de table [_T2] par
contre il y a
bien un alias de table nommé [T2]

PS:Il faut bien entendu aussi adapter le nom des champs utilisé.



et bien c'est là justement où c'est bizarre car je n'ai pas d'alias de table
_T2 voici mon SQL

SELECT T1.A, T1.B, Count(T2.B) AS C
FROM LaTable AS T1 INNER JOIN LaTable AS T2 ON (T1.A>=T2.A) AND (T1.B=T2.B)
GROUP BY T1.A, T1.B
ORDER BY T1.A;

je ne comprends pas
Avatar
Francky de Lille
"Francky de Lille" a écrit dans le message
de news: 4a8d3877$0$442$

"Michel__D" a écrit dans le message
de news: h6jama$l2s$
Bonjour,

"Francky de Lille" a écrit dans le
message de news: 4a8d0009$0$20867$

"Michel__D" a écrit dans le
message de news: h6gldt$tn2$
Bonjour,

"Francky de Lille" a écrit dans le message de
news: 4a8b12ea$0$1571$
Bonjour,

Je voudrais créer un tri partiel dans une table, je m'explique :

soit la table suivante
Colonne A Colonne B
1 A
2 A
3 A
4 B
5 C
6 D
7 B
8 D
9 C
10 B

Je voudrais avoir cela
Colonne A Colonne B Colonne C
1 A 1
2 A 2
3 A 3
4 B 1
5 C 1
6 D 1
7 B 2
8 D 2
9 C 2
10 B 3

J'ai essayer de faire une requête avec un champs calculé mais j'ai pas
réussi.

Si quelqun à une idée pour m'aider merci d'avance

Franck



Essaye avec cette requête en mode SQL :

SELECT T1.ColonneA, T1.ColonneB, Count(T2.ColonneB) AS ColonneC
FROM LaTable AS T1 INNER JOIN LaTable AS T2
ON T1.ColonneB = T2.ColonneB And T1.ColonneA >= T2.ColonneA
GROUP BY T1.ColonneB, T1.ColonneA
ORDER BY T1.ColonneA;




Cela fonctionne mais il me demande à chaque ouverture de la requête une
valeur de paramètre pour _T2.ColonneB ?
Comment est-ce que cela se fait ?

Franck



Erreur de saisie de ta part car il n'y a pas d'alias de table [_T2] par
contre il y a
bien un alias de table nommé [T2]

PS:Il faut bien entendu aussi adapter le nom des champs utilisé.



et bien c'est là justement où c'est bizarre car je n'ai pas d'alias de
table _T2 voici mon SQL

SELECT T1.A, T1.B, Count(T2.B) AS C
FROM LaTable AS T1 INNER JOIN LaTable AS T2 ON (T1.A>=T2.A) AND
(T1.B=T2.B)
GROUP BY T1.A, T1.B
ORDER BY T1.A;

je ne comprends pas


Bon ben j'avais pas compris qu'il falait faire une 3éme requêtes :-) pour
placer le SQL désolè
Maintenant je n'ai plus de pb
Deux alias de table T1 et T2 avec les colonnes A et B et une troisiéme avec
le code SQL et maintenant plus de demande erronné de valeur de paramètre
Merci Michel
1 2