Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 16/09/2011, 01h52   #1
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
Par défaut select dernier, premier <COMMENT ?>

Bonjour,
svp comment pouvoir afficher un enregistrement qui a le dernier id et un enregistrement qui a eu le premier id.
c'est à dire, afficher le dernier enregistrement et le premier, sachant bien qu'il peut avoir des suppressions des enregistrements.

merci
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 03h19   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Alors pas de table, pas de colonnes, et pas de code ...
Comment peut-on vous aider ?

Par ailleurs en SQL il n'y a d'ordre dans les lignes d'un résultat que lorsqu'on ajoute une clause ORDER BY à une requête ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 06h56   #3
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Pas de bras pas de chocolat ... euh pas de table pas de solution

Plus sérieusement merci de respecter la charte de postage du forum.

Comme votre besoin a l'air plutôt simple voici une solution :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
;WITH CTE
AS
(
 SELECT 1 AS col
 UNION ALL
 SELECT 2
 UNION ALL
 SELECT 3
 UNION ALL
 SELECT 5
)
SELECT 
 MIN(col) AS min_val,
 MAX(col) AS max_val
FROM CTE;
++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 09h09   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Moi il me semble que c'est "pas de bras, pas de chocolat"

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 09h13   #5
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Ben la tu vois tu aurais pu modifier mon message en tant que bon modérateur !!!
Quoi qu'il en soit merci ;-)
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 17h54   #6
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
excusez moi

voici ce que j'ai mis, ça a marché bien au début, mais quand il y'a eu des suppression des enregistrements, j'arrive pas à atteindre le dernier enregistrement ou le premier:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  req = "select max(id_employe) from employe"
        lecture_BD(req)
        While (dr.READ)
            dernier_id = dr.GetValue(0)
 
        End While
 
 
        'MsgBox(dernier_id)
 
        dr.Close()
        req = "select * from employe where id_employe=" & dernier_id
        lecture_BD(req)
        While (dr.Read)
'afficher les infos
        End While
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  req = "select min(id_employe) from employe"
        lecture_BD(req)
        While (dr.READ)
            premier_id = dr.GetValue(0)
 
        End While
 
 
        ' MsgBox(premier_id)
 
        dr.Close()
        req = "select * from employe where id_employe=" & premier_id
        lecture_BD(req)
        While (dr.Read)
'afficher les infos
        End While
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 18h21   #7
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Code :
SELECT * FROM employe WHERE id_employe = (SELECT MAX(id_employe) FROM employe)
Code :
SELECT * FROM employe WHERE id_employe = (SELECT MIN(id_employe) FROM employe)
Cela dit, mas et min ce n'est pas spécialement le premier ou le derbier... C'est le plus grand ou le plus petit.... Ce n'est doc pas la même chose.
En outre le premier de quoi ?
En age ? En durée ?? En intelligence ???

Bref, soyez précis... Si vous faites des applications avec autant de précision que vous traitez les données, je crains le pire pour votre carrière !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro 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 00h46.


 
 
 
 
Partenaires

Hébergement Web