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

Requêtes MySQL Discussion :

Select avec valeur "par defaut"


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2017
    Messages : 20
    Points : 25
    Points
    25
    Par défaut Select avec valeur "par defaut"
    Bonjour à tous!

    Je dispose d'une base de donnée avec des periodes. J'aimerais que si l'utilisateur rentre une periode anterieur a la valeur minimum contenu dans ma BDD, la requête renvoie la valeur minimum.

    Par exemple si la date la plus ancienn est 03/2017, je voudrais que si l'utilisateur rentre 01/2017, ca retourne par defaut 03/2017.

    Ya til un moyen de faire ca?

    Merci a tous

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Hemoroide.

    Je vous conseille le marron d'inde !

    Citation Envoyé par Hemoroide
    Par exemple si la date la plus ancienne est 03/2017, je voudrais que si l'utilisateur rentre 01/2017, ca retourne par defaut 03/2017.
    Déjà ce n'est pas une date car elle n'est pas dans le bon format mysql, à savoir "YYYY-MM-DD".

    Voici ce que je propose comme requête, afin de récupérer, selon votre critère, la ligne la plus ancienne :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    --------------
    SET AUTOCOMMIT = 0
    --------------
    
    --------------
    START TRANSACTION
    --------------
    
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
    
    --------------
    CREATE DATABASE `base`
        DEFAULT CHARACTER SET `latin1`
        DEFAULT COLLATE       `latin1_general_ci`
    --------------
    
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
    
    --------------
    CREATE TABLE `test`
    ( `id`    INTEGER UNSIGNED NOT NULL auto_increment PRIMARY KEY,
      `lib`   varchar(255)     NOT NULL,
      `date`  date             NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
    
    --------------
    insert into `test` (`lib`,`date`) values
      ('un',     '2017-12-01'),
      ('deux',   '2017-07-01'),
      ('trois',  '2017-03-01'),
      ('quatre', '2017-05-01')
    --------------
    
    --------------
    select * from `test`
    --------------
    
    +----+--------+------------+
    | id | lib    | date       |
    +----+--------+------------+
    |  1 | un     | 2017-12-01 |
    |  2 | deux   | 2017-07-01 |
    |  3 | trois  | 2017-03-01 |
    |  4 | quatre | 2017-05-01 |
    +----+--------+------------+
    --------------
    select  *
      from  `test`
     where  `date` = ( select  min(`date`)
                         from  `test`
                        where  `date` >= '2017-01-01'
                     )
    --------------
    
    +----+-------+------------+
    | id | lib   | date       |
    +----+-------+------------+
    |  3 | trois | 2017-03-01 |
    +----+-------+------------+
    --------------
    select  *
      from  `test`
     where  `date` = ( select  min(`date`)
                         from  `test`
                        where  `date` >= '2017-04-01'
                     )
    --------------
    
    +----+--------+------------+
    | id | lib    | date       |
    +----+--------+------------+
    |  4 | quatre | 2017-05-01 |
    +----+--------+------------+
    --------------
    COMMIT
    --------------
    
    --------------
    SET AUTOCOMMIT = 1
    --------------
    
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2017
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    Bien joué! On m'a deja sorti preparation H mais pas marron d'inde !

    Merci pour votre réponse je teste ca rapidement!

Discussions similaires

  1. [MySQL] insert select avec valeur par défautl
    Par omelhor dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/07/2012, 18h26
  2. [MySQL] select avec valeurs existantes et pré-remplir champs avec ces valeurs par défaut
    Par gzg19 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/04/2010, 17h52
  3. [AC-2003] requete selection avec valeur par defaut
    Par benoitXV dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/03/2010, 15h31
  4. Réponses: 3
    Dernier message: 29/08/2005, 16h44

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