Partage
  • Partager sur Facebook
  • Partager sur Twitter

sélectionner le titre d'une colonne

    25 novembre 2010 à 9:11:51

    Bonjour à tous !

    Alors voilà j'ai une table avec de nombreuses colonnes. J'aimerais obtenir et lister les titres des colonnes si la valeur du champ commence par "oui dans une ligne prédéfinie par son numéro id

    Je sais pas si c'est très clair alors je vous mets un exemple de requête "en français" parce que je n'ai pas réussi à trouver les nom des fonctions correspondantes

    SELECT titre_de_la_colonne WHERE champ REGEXP '^oui' AND id=$id
    


    et ensuite lister tout les titre de colonne répondant à la condition (par exemple avec une boucle)

    Merci d'avance de votre aide

    Max
    • Partager sur Facebook
    • Partager sur Twitter
      25 novembre 2010 à 9:29:45

      Salut,

      SELECT * FROM ta_table WHERE ta_valeur LIKE 'oui%' AND id=id_voulu
      


      J'ai pas tout bien compris mais essaye avec ca.

      En modifiant les champs biensur, mais ca peut s'approcher de ce que tu veux.
      • Partager sur Facebook
      • Partager sur Twitter
        25 novembre 2010 à 9:41:31

        Salut merci de ta réponse !

        En fait ce n'est pas exactement de cela dont j'ai besoin. Ce qu'il me faut c'est une fonction SQL qui me retourne les noms des colonnes de la table où la valeur du champ commence par oui.

        Est-ce que c'est possible ?? Peut-être que ça n'existe simplement pas...
        • Partager sur Facebook
        • Partager sur Twitter
          25 novembre 2010 à 10:55:34

          > Est-ce que c'est possible

          Bien sûr, il suffit de faire ta base de données proprement, c'est-à-dire de ne pas utiliser une table avec 50 colonnes pour les 50 options de ton form, mais une seconde table avec une ligne par réponse...

          Sinon, non, pas possible.
          • Partager sur Facebook
          • Partager sur Twitter
            25 novembre 2010 à 11:33:17

            Salut,

            Si ce que tu veux c'est lister le nom des colonnes d'une table suivant un critère, c'est tout à fait possible, il faut que tu fasses ta requête sur les méta tables (les tables systèmes). La structure de cette requête est variable suivant les SGBD.

            Si tu veux plus de précisions, donne le nom de ton SGBG et ta table, si je connais ce SGBD, je te répondrais.

            Bon courage ! :)
            • Partager sur Facebook
            • Partager sur Twitter
              25 novembre 2010 à 11:48:04

              En fait pour chaque ligne, il veut lister les noms des colonnes qui contiennent une valeur qui commence par "oui". Donc je subodore une table du style :

              id
              reponse_1
              reponse_2
              reponse_3
              reponse_4
              reponse_5

              au lieu d'une conception correcte comme

              table questions (question_id, ...)
              table reponses_utilisateur (question_id,user_id,reponse_id)
              • Partager sur Facebook
              • Partager sur Twitter
                25 novembre 2010 à 13:19:54

                Après même si la conception est brutale lol, il peut faire sa sélection même si les champs sont dans la même table.

                Genre

                USER(user_ID,nom_user,reponse_user)

                Avec une requête à la con style : SELECT nom_user FROM USER WHERE reponse='oui';

                Je sais pas si m'éloigne du sujet mais bon... ^^
                • Partager sur Facebook
                • Partager sur Twitter
                Si t'as pas d'amis, prends un curly, et si t'as pas de curly vas à Simply (Je sors >> [-] oui ceci est une porte)

                sélectionner le titre d'une colonne

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown