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 :

Choisir les champs Select pour les débutants et les fainéants


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 24
    Points : 22
    Points
    22
    Par défaut Choisir les champs Select pour les débutants et les fainéants
    Bonjour,
    En faisant une requête avec un nombre de champs importants, sauf les quelques derniers.
    Est-t-il possible de faire
    select *-2 … : tous les champs sauf les 2 derniers
    select *+10 … : les 10 premiers champs
    Select [5-15] … les champs de 5 à 15

    Ma requête marchera en écrivant tous les champs mais pour un débutant fainéant il n’y a pas de questions bêtes…

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    La guerre des étoiles ressort au cinéma mais elle n'a pas sa place dans les bases de données !

    De plus, les champs sont à la campagne et dans les formulaires, pas dans les tables SQL qui ne sont constituées que de colonnes et de lignes !

    Ce n'est pas parce qu'on débute qu'on est dispensé de bien faire ; au contraire !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Non ça n'est pas possible, il faut ecrire les colonnes dans le SELECT.
    Par contre ça n'empêche pas d'être fainéant (c'est quand même la base du développeur )
    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
    mysql> desc t;
    +-------+---------+------+-----+---------+-------+
    | Field | Type    | Null | Key | Default | Extra |
    +-------+---------+------+-----+---------+-------+
    | c1    | int(11) | YES  |     | NULL    |       |
    | c2    | int(11) | YES  |     | NULL    |       |
    | c3    | int(11) | YES  |     | NULL    |       |
    | c4    | int(11) | YES  |     | NULL    |       |
    | c5    | int(11) | YES  |     | NULL    |       |
    | c6    | int(11) | YES  |     | NULL    |       |
    | c7    | int(11) | YES  |     | NULL    |       |
    | c8    | int(11) | YES  |     | NULL    |       |
    | c9    | int(11) | YES  |     | NULL    |       |
    | c10   | int(11) | YES  |     | NULL    |       |
    | c11   | int(11) | YES  |     | NULL    |       |
    | c12   | int(11) | YES  |     | NULL    |       |
    | c13   | int(11) | YES  |     | NULL    |       |
    | c14   | int(11) | YES  |     | NULL    |       |
    | c15   | int(11) | YES  |     | NULL    |       |
    +-------+---------+------+-----+---------+-------+
    15 rows in set (0.00 sec)
     
    mysql> select column_name, ordinal_position
        ->   from information_schema.columns
        ->  where table_name = 't'
        ->  order by ordinal_position;
    +-------------+------------------+
    | column_name | ordinal_position |
    +-------------+------------------+
    | c1          |                1 |
    | c2          |                2 |
    | c3          |                3 |
    | c4          |                4 |
    | c5          |                5 |
    | c6          |                6 |
    | c7          |                7 |
    | c8          |                8 |
    | c9          |                9 |
    | c10         |               10 |
    | c11         |               11 |
    | c12         |               12 |
    | c13         |               13 |
    | c14         |               14 |
    | c15         |               15 |
    +-------------+------------------+
    15 rows in set (0.01 sec)
     
    mysql> select group_concat(column_name order by ordinal_position separator ',')
        ->   from information_schema.columns
        ->  where table_name = 't';
    +-------------------------------------------------------------------+
    | group_concat(column_name order by ordinal_position separator ',') |
    +-------------------------------------------------------------------+
    | c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15                |
    +-------------------------------------------------------------------+
    1 row in set (0.00 sec)
     
    mysql> select group_concat(column_name order by ordinal_position separator ',')
        ->   from information_schema.columns
        ->  where table_name = 't'
        ->    and ordinal_position between 5 and 10;
    +-------------------------------------------------------------------+
    | group_concat(column_name order by ordinal_position separator ',') |
    +-------------------------------------------------------------------+
    | c5,c6,c7,c8,c9,c10                                                |
    +-------------------------------------------------------------------+
    1 row in set (0.00 sec)
     
    mysql>
    Reste plus qu'à copier/coller le résultat

  4. #4
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut
    [HS]
    C'est fou comme on devient ingénieux lorsqu'il s'agit de glander
    [/HS]
    define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/03/2015, 10h52
  2. Réponses: 2
    Dernier message: 12/03/2009, 11h42
  3. [AJAX] Tester les champs d'un formulaire avant de pouvoir l'envoyer
    Par italiasky dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/05/2007, 12h25
  4. [débutante]utiliser les classes css pour surligner des liens
    Par Mitaka dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 06/01/2006, 09h37
  5. Déterminer les champs disponibles pour un état
    Par soso78 dans le forum Access
    Réponses: 1
    Dernier message: 07/09/2005, 19h27

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