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

PHP & Base de données Discussion :

Savoir où se trouve le Minimum [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juillet 2006
    Messages : 233
    Par défaut Savoir où se trouve le Minimum
    Bonjour à tous,

    J'ai un tableau avec 7 champs :
    id, c1, c2, c3,choix1,choix2,choix3

    • id est un identifiant
    • c1, c2 et c3 des valeurs numériques
    • choix1,choix2,choix3 sont des champs initialement vides


    Je voudrais avoir la requête qui me fasse la chose suivante :

    Si c1 est le Min(c1,c2,c3) et que c2= Min(c2, C3) alors écrire k1 K2 et K3 dans cet ordre dans les champs choix1,choix2 et choix3


    si c2 est le Min(c1,c2,c3) et que c1= Min(c1, C3) alors écrire k2 K1 et K3 dans cet ordredans les champs choix1,choix2 et choix3

    si c3 est le Min(c1,c2,c3) et que c2= Min(c1, C2) alors écrire k3 K2 et K1 dans cet ordre dans les champs choix1,choix2 et choix3

    etc...

    J'espère que c'est clair. Merci d'avance.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Utilise la fonction min de php pour trouver le minimum dans un tableau.

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 665
    Par défaut
    c'est plutôt une histoire de tri dans ce cas
    regarde la fonction http://php.net/sort

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juillet 2006
    Messages : 233
    Par défaut
    Merci Spartacusply de cette réponse rapide.


    Au fait j'ai ounlié de dire que j'utilise seulement MySQL et ses requêtes sans PHP. Donc à défaut MIN(), je ne peux utiliser que la fonction LEAST(). Mais le résultat étant le même mon problème se situe au niveau des champs vides choix1, choix2 et choix3 et de ce qu'il faut y placer selon le tri/classement de c1, c2 et c3.

    Merci

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juillet 2006
    Messages : 233
    Par défaut
    reBonjour,
    Je donne plus bas un exemple pour que vous y voyiez plus clair

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    0.0055	0.0239	0.0085			
    0.0059	0.0075	0.0085			
    0.0105	0.0221	0.0135			
    0.0076	0.0098	0.012			
    0.0092	0.0145	0.014			
    0.0065	0.0082	0.008			
    0.0054	0.0174	0.007			
    0.0035	0.0123	0.0075			
    0.0105	0.0228	0.009			
    0.0085	0.0263	0.013			
    0.0057	0.008	0.008			
    0.0106	0.0328	0.026			
    0.016268	0.061	0.04			
    0.497549	0.71	0.6347			
    0.023151	0.0276	0.025			
    0.010685	0.03	0.026			
    0.018536	0.052	0.02			
    0.105	0.0575	0.1			
    0.019561	0.0285	0.011

    avec les 3 dernier champs choix1 choix2 et choix3 vides

    Après la requête on voudrait avoir ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    0.0055	0.0239	0.0085	K1	K3	K2
    0.0059	0.0075	0.0085	K1	K2	K3
    0.0105	0.0221	0.0135	K1	K3	K2
    0.0076	0.0098	0.012	K1	K2	K3
    0.0092	0.0145	0.014	K1	K3	K2
    0.0065	0.0082	0.008	K1	K3	K2
    0.0054	0.0174	0.007	K1	K3	K2
    0.0035	0.0123	0.0075	K1	K3	K2
    0.0105	0.0228	0.009	K3	K1	K2
    0.0085	0.0263	0.013	K1	K3	K2
    0.0057	0.008	0.008	K1	K3	K3
    0.0106	0.0328	0.026	K1	K3	K2
    0.016268	0.061	0.04	K1	K3	K2
    0.497549	0.71	0.6347	K1	K3	K2
    0.023151	0.0276	0.025	K1	K3	K2
    0.010685	0.03	0.026	K1	K3	K2
    0.018536	0.052	0.02	K1	K3	K2
    0.105	0.0575	0.1	K2	K3	K1
    0.019561	0.0285	0.011	K3	K1	K2
    Sorry, il y a eu apparemment des messages entre temps.

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Salut.
    Si tu veux tout régler en SQL, il ne s'agit pas tant d'updater tes champs vides que de faire une vue dynamique à partir de ta table, c'est à ça que ça sert.
    Dans ta table de départ, tu ne laisses que les champs id,c1,c2,c3, et tu fais une vue correspondante :
    (Bien sûr, cale la requête seule avant de créer la vue).
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    create or replace view v_choix as
    select id,
    c1,
    c2,
    c3,
    case 
    	WHEN min(c1,c2,c3)=c1 and c2=min(c2,c3)  
    	THEN 'k1-k2-k3' 
    	WHEN min(c1,c2,c3)=c2 and c1=min(c1,c3)  
    	THEN 'k2-k1-k3'
    	WHEN min(c1,c2,c3)=c3 and c2=min(c1,c2)  
    	THEN 'k3-k2-k1'
    	ELSE 'erreur' 
    end as choix
    from matable
    group by id
    order by choix
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juillet 2006
    Messages : 233
    Par défaut Clair, net et précis
    Bonjour Dendrite,

    Ceci répond exactement à ma question. C'est clair, net et précis!
    La seule chose que j'ai du changer c'est LEAST au lieu de MIN, sinon tout est nickel. En plus ceci m'a permis de voir une vue pour la première fois. Merci infiniment.

    Je marque donc Résolu

    Merci

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

Discussions similaires

  1. [J2ME] Comment savoir ou se trouve le focus?
    Par dachir dans le forum NetBeans
    Réponses: 9
    Dernier message: 10/04/2007, 12h01
  2. [Tableaux] Savoir ou l'on se trouve dans l'arborescence
    Par Jim_Nastiq dans le forum Langage
    Réponses: 5
    Dernier message: 27/07/2006, 23h18
  3. Réponses: 1
    Dernier message: 26/06/2006, 14h16
  4. [VBA-E]Savoir à quel endroit se trouve un fichier
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/03/2006, 16h10
  5. Réponses: 6
    Dernier message: 04/11/2005, 12h34

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