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

SQL Firebird Discussion :

Interrogation d'une base de données


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de zoheir13
    Inscrit en
    Décembre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 114
    Par défaut Interrogation d'une base de données
    Salut,
    j'ai deux table : table service et table employé
    un service contient 1 ou plusieur employé

    je voudrais savoir si c'est possible de faire sortir un employé de façon aléatoire du chaque service par une simple requette SQL, et est ce qu'il est possible de faire sortir le premier employé recruté pour chaque service,
    remarque : la table employé contient la date de recrutement

    j'utilise Firebird 1.5

  2. #2
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 720
    Par défaut
    je voudrais savoir si c'est possible de faire sortir un employé de façon aléatoire du chaque service par une simple requette SQL,
    qu 'es que tu entends par là !

    est ce qu'il est possible de faire sortir le premier employé recruté pour chaque service,
    remarque : la table employé contient la date de recrutement
    peut on avoir la structure de tes tables ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut
    bonjour,
    1. pour le aléatoire
    je crois qu'il n'existe pas nativement dans firebird (ou alors j'ai zapper qqchose ce qui est tres possible).

    a part une udf a declarer :
    DECLARE EXTERNAL FUNCTION rand RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'IB_UDF_rand' MODULE_NAME 'ib_udf';
    qui peut etre utiliser comme ca
    SELECT FIRST 1 * FROM employe e where e.service = :VAR ORDER BY rand()
    le tout a l'interieur d'une procedure bouclant sur chaque service

    mais il doit surement avoir mieux ....

    2. pour le premier employé recruté
    tu peux utiliser un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from employe e1
    where not exists (select * from employe e2 where e2.service = e1.service 
       and e2.date_entree < e1.date_entree)
    attention ceci peux te retourner plusieurs employés par service s'ils sont les premiers entrés a la même date.
    Pour en selectioner un seul on pourrait ajouter egalement dans le not exists ' and e2.pkey < e1.pkey' (on reprendrait donc le premier entré avec la plus petite pkey).

    Didier V.

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par didvig Voir le message
    je crois qu'il n'existe pas nativement dans firebird (ou alors j'ai zapper qqchose ce qui est tres possible).
    pas besoin d'udf
    http://www.firebirdsql.org/refdocs/l...func-rand.html

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut
    Citation Envoyé par makowski Voir le message
    merci philippe pour cette précision que je présentais, mais comme notre interlocuteur parlait de firebird 1.5 ....
    donc je dirais udf à proscrire pour un passage en douceur vers 2.1 ...

    Didier V

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par didvig Voir le message
    merci philippe pour cette précision que je présentais, mais comme notre interlocuteur parlait de firebird 1.5 ....
    oui pardon,
    mais comme Fb1.5 est en fin de vie
    je ne comprend même pas pourquoi certains s'acharnent à utiliser cette vieille version
    surement les mêmes que ceux qui utilisent win98

  7. #7
    Membre confirmé Avatar de zoheir13
    Inscrit en
    Décembre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 114
    Par défaut
    j'utilise FB1.5 Mr Makoski parce que j'ai trouver des problèmes pour l'immigration vers FB2.0
    mais c'est un projet qui en cours


    merci DIdvig pour ta réponse

  8. #8
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Citation Envoyé par makowski Voir le message
    oui pardon,
    mais comme Fb1.5 est en fin de vie
    je ne comprend même pas pourquoi certains s'acharnent à utiliser cette vieille version
    surement les mêmes que ceux qui utilisent win98
    Là, c'est oublier les problèmes de MàJ chez les clients, car c'est une sacrée opération de passer chez une centaine de client, qui demandent des RdV précis avec patte blanche dans des milieux sensibles. D'autre part, pourquoi changer un moteur qui donne entière satisfaction sur tous les points qui nous sont importants ?
    D'autre part, même si vous nous affirmiez que la version 2.01 est dépourvue de bug, cela ne nous empêcherait pas de tout retester sur nos routines, intero sql etc. enfin le contrôle normal d'application avant mise en production.

    Et là je réponds sans faire les calculs de coûts...

    Ceci dit sans aucune agressivité (surtout que je lis et apprécie ce que vous écrivez sur FB depuis qq. années), juste pour souligner qu'il peut y avoir des raisons valables de rester en 1.5 et que l'on n'est pas des hommes de Cromagnon pour autant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Interrogation d'une base de données
    Par jerome.212 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/04/2014, 18h35
  2. Réponses: 5
    Dernier message: 26/02/2009, 14h34
  3. [1.x] Interroger une base de données
    Par rockybalboa dans le forum Symfony
    Réponses: 4
    Dernier message: 11/05/2008, 22h05
  4. Interroger une base de données blacklist
    Par undercrash dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 29/04/2008, 09h54
  5. [AJAX] Interrogation d'une base de données
    Par popy67 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2008, 22h40

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