Requete sql

Résolu
Bonjour,

je cherche à faire une requete SQL sur php particulière :
je veux sélectionner toutes les infos pour chaque ligne de ma table (de 1 à 5) sauf une info qui correspond toujours à la meme ligne (4).
je ne sais pas comment faire.

merci de l'aide.

9 réponses

  1. Bonjour Deneb,

    Peux-tu nous montrer ta table et les champs qu'elle contient stp?

    Si ta table contient une clé primaire, tu peux utiliser la requête suivante :

    select *
    from TaTable
    where TaPk <> LaPk_DeTaLigneAExclure ;

    si maintenant elle n'a pas de clé primaire, comment identifies-tu chaque ligne?
    1. voici ma table qui a une clé primaire :

      CREATE TABLE IF NOT EXISTS 'categories2' (
      'id_cat' int(11) NOT NULL auto_increment,
      'categorie' varchar(50) NOT NULL,
      'titre' varchar(100) NOT NULL,
      'vehicule' varchar(50) NOT NULL default '0',
      'image' varchar(100) NOT NULL,
      'nb_pers' varchar(100) NOT NULL default '9',
      'nbjour' int(6) NOT NULL default '1',
      'info' varchar(2) NOT NULL default '9',
      'tarif' decimal(10,2) NOT NULL,
      'nbkm' int(8) NOT NULL default '50',
      'coeff1j1' decimal(5,3) NOT NULL,
      'coeff2j1' decimal(5,3) NOT NULL,
      'coeff3j1' decimal(5,3) NOT NULL,
      'coeff4j1' decimal(5,3) NOT NULL,
      'coeff5j1' decimal(5,3) NOT NULL,
      'coeff6j1' decimal(5,3) NOT NULL,

      PRIMARY KEY ('id_cat')
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
      1. Dans ce cas,

        tu peux utiliser la requête que je t'ai donné. Si tu sais que l'id que tu ne veux pas récupérer est le 4, il te suffit d'écrire :
        SELECT *
        FROM CATEGORIES2
        WHERE ID_CAT <> 4 ;


        1. non, j'ai du mal m'exprimer.
          je veux sélectionner tous les id.
          mais pour tous les id , je veux :
          -sélectionner les champs
          -sauf un champ qui est celui de l'id = 4.

          -> id = 1 : champ1 de l'id1 + champ2 de l'id4
          -> id = 2 : champ1 de l'id2 + champ2 de l'id4
          ...
          1. Alors dans ce cas, un truc dans ce genre :

            SELECT champ1_idencours ,
                ( SELECT champ2 FROM CATEGORIES2 WHERE id_cat = 4 ) AS champ2_id4
            FROM CATEGORIES2

            1. dans ce cas, je ne récupère que les lignes qui ont un champ égal à celui de l'id 4.