Problem sql

Résolu
katy2063 Messages postés 12 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 6 septembre 2006 - 4 sept. 2005 à 18:08
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006 - 7 sept. 2005 à 08:26
slt le forum g un blem avec sql,
je voudrais faire afficher ds un champ d'une liste le nombre des enregistrements c-à-d un numéro séquentiel, g essayé avec la fonction count() mais ça m'affiche que des 1,1,1,1........
moi ce que je veux c'est 1,2,3,4,5,6,..........
voila j'espere que je ss clair et je vous remerci d'avance

6 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
5 sept. 2005 à 18:27
Bien que ce genre de question ait davantage sa place sur le forum sql , je vais y répondre ici.

Certains SGBD intègre ce type de fonction. En ce qui concerne Paradox, ce n'est pas le cas. Mais il existe un moyen simple d'y parvenir avec une requête de base portant le doux nom de relation d'autojointure non équi-jointure.

Les requêtes ci-dessous ont été validées avec la table Biolife livrée avec le BDE.

Pour obtenir un ordre croissant :

select count(T1."species no") as rang, T1.common_name from biolife T1, biolife T2
where
T1.Common_Name >= T2.Common_Name
group by T1.Common_Name

Pour obtenir une numérotation décroissante :
select count(T1."species no") as rang, T1.common_name from biolife T1, biolife T2
where
T1.Common_Name <= T2.Common_Name
group by T1.Common_Name

Cette requête fonctionnera donc quel que soit le SGBD utilisé.

Vincent : si tu utilises un champ auto-incrémenté, qu'advient-il alors si des enregistrements ont été supprimés, si le pas de l'incrément n'est pas de 1 ?

<HR color =#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
5 sept. 2005 à 10:46
Quelle type de base de données utilises-tu ?

Essaie recno().

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
katy2063 Messages postés 12 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 6 septembre 2006
5 sept. 2005 à 11:21
bjr vincent
je te remerci pr ta réponse mais ça ne marche pas ta function et tt ça est de ma faute car g oublié de mentionné le type de base de donné, et ben j'utilise le PARADOX 7
encore dzl et merci
0
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
5 sept. 2005 à 11:50
J'ai été un peu trop vite dans mon explication.



recno() est à utiliser avec un composant delphi tel que TTable.



Il n'y a mon sens aucune focntion sql qui renvoie le numéro du record dans le select.

Si tu veux connaître le numéro d'introduction du record, sa place
naturelle dans la table, il faut que tu ajoutes un champ ID qui
s'autoincrémente à chaque insertion de record.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
5 sept. 2005 à 21:55
Et vive SQL aussi


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
7 sept. 2005 à 08:26
D'acord avec toi DelphiProg.



Mon propos était simplement de signaler qu'un champ auto-incrémenté donnait l'ordre naturel d'introduction de chaque record dans sa table.

C'est tout.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
Rejoignez-nous