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

Bases de données Delphi Discussion :

Mise a jour d'une table


Sujet :

Bases de données Delphi

  1. #21
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    Voilà les erreurs qui montent :
    Avec double select :
    Nom : double select.png
Affichages : 69
Taille : 38,8 Ko

  2. #22
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Ah, mais cela n'est qu'un problème de nom de table, dépendant du Gui utilisé, il est possible qu'il ajoute des guillemets, il suffit de les ôter pour retrouver "la bonne syntaxe".
    D'ailleurs ces guillemets n'y sont pas dans les SQLs que nous avons proposés (j'ai eu un doute).
    Cela étant, je préfère nettement celle sans double SELECT
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #23
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    Bon j'ai repris mes essais ce matin, il y avait un problème de nom de table que je n'avais pas vu hier.

    En remettant tout bien, le double select ne fonctionne pas et le simple select ne voit pas les ex aequo:

    Nom : 2erreurs.png
Affichages : 50
Taille : 63,7 Ko

  4. #24
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 695
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 695
    Points : 13 133
    Points
    13 133
    Par défaut
    Faut-il encore orthographier correctement le champ : photos_id

  5. #25
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Bernard B Voir le message
    le simple select ne voit pas les exæquos:
    Les exæquos c.-à-d., même numéro de rang ? ce n'était pas vraiment la demande ! Je croyais avoir trouvé une solution sur ce lien mais non

    bien sûr, un script de remplissage de table pour avoir plus de données serait un atout pour contrôle plus complexe

    Cela étant, c'est plus un problème SQL+MySQL donc le bon forum serait plus https://www.developpez.net/forums/f9...ysql/requetes/
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #26
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    Tu as raison, j'ai fait vite ce matin, j'avais corrigé les autres mais pas celui là.

    Ce n'est pas encore ça !! J'ai tenté de compléter par un GROUP BY place sans succès.

    Nom : 1erreurs.png
Affichages : 41
Taille : 36,7 Ko

  7. #27
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 695
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 695
    Points : 13 133
    Points
    13 133
    Par défaut
    Place est unique, il n'y a rien à regrouper

  8. #28
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Je ne suis pas un spécialiste MySQL mais comme cela me laissait un goût en arrière bouche, je me suis lancé après avoir étudié l'exemple que j'ai cité

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SET @rang = 0;
    SET @prec = 0;
    SELECT if( (note1+note2+note3) = @prec , @rang, @rang:=@rang+1 ) rang,
    		 @prec:=Note1+note2+note3,
           photos_id,note1,note2,note3,
           note1+note2+note3 AS totalcalcule, 
    		 GREATEST(note1,note2,note3)- LEAST(note1,note2,note3) AS Ecart 
    FROM notes ORDER BY totalcalcule DESC
    traitera bien les exæquos
    Nom : Capture.PNG
Affichages : 39
Taille : 18,5 Ko

    comme on voyait la colonne @prec.... je me suis dit que
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SET @rang = 0;
    SET @prec = 0;
    SELECT if( (note1+note2+note3) = @prec , @rang, @rang:=@rang+1 ) rang,
    		 @prec:=Note1+note2+note3 AS totalcalcule,
           photos_id,note1,note2,note3,
    --       note1+note2+note3 AS totalcalcule, 
    		 GREATEST(note1,note2,note3)- LEAST(note1,note2,note3) AS Ecart 
    FROM notes ORDER BY totalcalcule DESC,photos_id
    plus un ordre au sein des exæquos sur photos_id pour toujours avoir un résultat cohérent

    N.B. bien sûr avec une version moderne DENSE_RANK() au lieu de RANK() aurait fait le job

    maintenant si (dans mon jeu d'essai) on doit passer du rang 2 (les exæquos) au rang 4 et non 3
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #29
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 302
    Points
    11 302
    Billets dans le blog
    6
    Par défaut
    Peut-être ceci traite-t-il le souci de place des suivants d'ex-aequo au prix d'une colonne inutile à l'affichage
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SET @rang = 0;
    SET @prec = 0;
    SET @clas = 1;
    SELECT if( (note1+note2+note3) = @prec , @rang, @rang:=@clas ) rang,
    		 @prec:=Note1+note2+note3 AS totalcalcule,
                     @clas:=@clas+1 AS intermediaire,
           photos_id,note1,note2,note3,
    		 GREATEST(note1,note2,note3)- LEAST(note1,note2,note3) AS Ecart 
    FROM notes ORDER BY totalcalcule DESC,photos_id
    La colonne Ecart a-t-elle d'ailleurs une utilité, alors qu'elle ne rentre pas dans le classement (elle pourrait bonifier pour un même total l'homogénéité des notes ou l'obtention d'une plus forte, au choix) ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  10. #30
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    Pour Andnotor :
    Place est unique, il n'y a rien à regrouper
    dans mon idée, je voulais grouper les lignes ayant la même note pour leur attribuer la même place...

    Pour Sergio :
    on doit passer du rang 2 (les exæquos) au rang 4 et non 3
    oui je confirme !!

  11. #31
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    Oui Toulourou c'est bon !!

    Nom : reussi.png
Affichages : 32
Taille : 45,0 Ko

    Qu'il y ait une colonne inutile à l'affichage, c'est le dernier de mes soucis, car en plus les résultats ne sont pas destinés a être affiché comme ça mais je les retraduit sous forme d'images avec texte dans des fichiers writer de libre office.

    Le colonne Ecart semble ne servir à rien, mais avec la même extraction j'affiche les meilleurs photos et/ou les plus gros écarts de notes.

    Dans tous les cas merci pour votre acharnement et vos compétences dans le domaine. J'ai découvert pleins de choses !!!!
    J'ai maintenant quelque mois pour les mettre en pratique, car pour le week-end prochain j'ai du faire des choses à la main... J'aurais du me réveiller plus tôt et anticiper les bugs de la fédé !!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Mise à jour d'une table
    Par smotte76 dans le forum Access
    Réponses: 2
    Dernier message: 31/10/2005, 18h13
  2. Mise à jour d'une table
    Par bath dans le forum Oracle
    Réponses: 5
    Dernier message: 19/10/2005, 12h01
  3. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  4. Réponses: 5
    Dernier message: 06/01/2005, 12h07
  5. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09

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