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

WinDev Discussion :

Faire une requête SQL sur une table ? [WD16]


Sujet :

WinDev

  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut Faire une requête SQL sur une table ?
    Hello, une question que je me suis toujours posé :
    J'effectue une requête SQL et le résultat arrive dans un tableau. Youpi.
    Y a-t-il un moyen de faire des requêtes SQL sur ce nouveau tableau créé ?
    Genre des count tout ca...
    Y a-t-il moyen de faire : MONTABLEAU est une source de données... ou un truc du genre ?
    Merci à vous
    Amicalement,
    Eric.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Non.

    Par contre si les données proviennent d'une base de données et sont affichées dans le tableau, pourquoi ne pas faire vos requêtes sur ces mêmes données au lieu de vouloir les faire sur le tableau ?

  3. #3
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Hello,
    En fait la requête qui arrive dans le tableau est très longue... et ensuite j'ai plusieurs count à faire dessus.
    J'aurais voulu éviter de refaire cette longue requête à chaque fois...
    Ce que je vais être obligé de faire en fait...
    A moins qu'une fois le tableau obtenu, je le stocke dans un .FIC dans hyperfile pour faire du SQL dessus...
    Je pensais qu'il y aurait mieux.
    Amicalement,
    Eric.

  4. #4
    Membre habitué Avatar de YodaOne
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 76
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Tout dépend, si tu rempli ton tableau et que ensuite tu fais "hlibèrerequête" la c'est plutôt embêtant.

    Maintenant si tu libère t'a requête à la fermeture de t'a fenêtre alors pas de soucis je pense que tu peux sans problème exécuter d'autre traitement sur la requête, vu que celle-ci est toujours en mémoire.

    J'espère avoir été claire

  5. #5
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Hello, oui oui je comprends bien.

    J'ai stocké le résultat de ma requête dans une Source de Données.
    Seulement mon tableau n'est pas directement le résultat de ma requête, il y a un traitement :

    En SQL j'obtiens "DATE1","DATE2"...
    Et dans mon tableau j'ai des DateDifférence("DATE1","DATE2")... qui ne sont pas faisables en SQL.
    Et ensuite j'aurais besoin de faire du SQL par rapport à ce tableau... pas à partir de ma Source de Données...

    Je vais donc créer un .FIC et je ferai des Hécrit plutôt que des tableajouteligne !
    Comme ca au moins je pourrai faire du SQL...

    Dommage qu'il n'y ait pas mieux !

    Amicalement,
    Eric.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Le calcul de différence entre dates est parfaitement possible en SQL.

    Il est implémenté par de nombreux SGBDR. De même vos traitements de sommes sur des fenêtres de données issues du jeu de résultat initial est possible avec les fonctions analytiques. Elles aussi sont disponibles dans plusieurs SGBDR (SQL Server, Oracle, Postgre > 8.4, ...).

    Ne dites pas SQL pour HyperFileSQL.

  7. #7
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Ok
    Alors comment fait on la différence entre 2 dates en HyperFileSQL ?
    Eric.

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Apparemment on ne peut pas :
    gestion des dates
    - ADD_MONTH
    - LAST_DAY
    - MONTHS_BETWEEN
    - NEW_TIME
    - NEXT_DAY
    - ROUND
    - SYSDATE
    - TRUNC
    http://doc.pcsoft.fr/fr-FR/?2034005

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 556
    Points : 1 198
    Points
    1 198
    Par défaut
    Si vous êtes sur HFSQL, vous pouvez surcharger vos requêtes par des fonctions du WL... justement pour palier le manque de souplesse de leur version de SQL

    Donc il vous suffit juste de préfixer l'appel par "WL", par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT
    wl.DateDifference(Date1, Date2)
    ....

  10. #10
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    C'est dingue... ca marche.
    Je suis bluffé.
    Enorme
    Merci !

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

Discussions similaires

  1. [PDO] SELECT dans une requète SQL sur une page PHP
    Par thewit dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/01/2015, 22h48
  2. Réponses: 11
    Dernier message: 22/01/2014, 19h30
  3. Pb sur une requête DELETE sur une chaine
    Par astrolane dans le forum Sybase
    Réponses: 4
    Dernier message: 16/02/2009, 09h11
  4. Réponses: 1
    Dernier message: 05/11/2008, 12h04
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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