IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

requete sql pour selectionner la ligne suivante


Sujet :

Langage SQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut requete sql pour selectionner la ligne suivante
    Bonjour, je dispode d'une base de donnée de verbe irrégulier et je voudrai savoir comment obtenir le verbe 2 à partir du verbe 1.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE VERBE
    (idverbe char(5) not null
    ,nomverbe varchar(10) not null
    ,verbesed varchar(10) not null
    ,verbesen varchar(10) not null
    ,verbefr varchar(20) not null
    ,constraint pk_verbes primary key(idverbe))
     
    insert into VERBE(idverbe,nomverbe,verbesed,verbesen,verbefr) values ('vb001','abide','abode','abode','demeurer')
    insert into VERBE(idverbe,nomverbe,verbesed,verbesen,verbefr) values ('vb002','arise','arose','arisen','s élever')

    pour être précis, je voudrais obtenir arise à partir de abide

    ma requete :

    select verbe from verbe where ?

    Merci de m'aider et de me consacrer du temps.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    La règle est simple : le suivant, c'est le premier de tous ceux qui sont après (ou le plus petit de ceux qui sont plus grands)
    Il ne te reste plus qu'à traduire en SQL
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    Bonjour,

    Si ton champ idverbe est un entier incrémental au lieu d'un char, tu peux écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare @nomverbe char(10)
    set @nomverbe='abide'
     
    select V1.nomverbe,V1....,V2.nomverbe,V2.....
    from VERBE V1
    inner join VERBE V2
    on V1.idverbe+1=V2.idverbe
    where V1.nomverbe=@nomverbe
    tu auras donc bien V2.nomverbe égal à 'arise'

    si tu souhaites absolument conserver idverbe au format char.
    cela donne quelque chose de bcp plus moche dans la clause on:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    on cast(right(V1.idverbe,3) as int)+1=cast(right(V2.idverbe,3) as int)
    Amuse toi bien et moi cela me fait penser qu'il faut que je révise mes verbes irréguliers

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Ce qui montre une fois de plus que le type entier est préférable pour une clé primaire !

    A noter quand même qu'ici, la notion de suivant n'est donnée que par la numérotation arbitraire des verbes mais rien ne dit que ceux-ci sont enregistrés dans l'ordre alphabétique.

    C'est OK pour l'exemple de données fourni mais pas forcément dans l'absolu.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/02/2010, 01h07
  2. requete sql pour selectionner certains éléments
    Par moustique95 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/06/2008, 20h53
  3. [Access SQL]Requetes SQL pour "inverser" ligne et colonne
    Par trihanhcie dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 16/07/2007, 13h12
  4. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12
  5. Requete SQL pour Access
    Par heraieros dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/01/2006, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo