joindre des champs

joindre des champs - SQL/NoSQL - Programmation

Marsh Posté le 21-11-2005 à 17:29:36    

Bonjour,
 
Je vais poser la question la plus basique qui existe sur mysql (ou une des questions les plus élémentaires), juste pour démontrer à quel point je suis nul en sql !
 
J'ai une base avec dedans une table. Dans la table je mets des données relatifs à de petits actes et autres écrits. Cette table a un nombre important de champs (identifiant, date, qualité du rédacteur, nom propre rédacteur, localisation rédacteur, type d'écrit...).  
 
Depuis php, j'ai un formulaire de recherche permettant de chercher ces actes sur différents critères. Jusqu'à ce jour j'ai un champs pour la qualité de l'auteur, un autre pour la locatlisation de l'auteur et un autre encore pour son nom propre. Je voudrais en fait un seul champ qui joint ces trois critères par ligne d'enregistrement.  
 
--+-------+--------+-----+-------+------+
id | auteur | localite | nom | annee | ecrit |
--+-------+--------+-----+-------+------+
1  |notaire |Paris     |Boris | 1975   | vte   |
--+-------+--------+-----+-------+-----+
2  |prêtre  |Blois      |Didi  | 1976   |bapt   |
--+-------+--------+-----+-------+-----+
 
 
Dans l'exemple ci-dessus, pour l'enregistrement premier, il faudrait que mysql me réponde :
 
auteurlocal = 'notaire de Paris'
auteurcomplet = 'Boris, notaire de Paris'
 
J'espère que ma demande est à peu près compréhensible, et assez compréhensible pour que quelqu'un me donne quelques pistes de réflection....
 
Merci d'avance,
 
Thiebo
 
 
 
 
 

Reply

Marsh Posté le 21-11-2005 à 17:29:36   

Reply

Marsh Posté le 21-11-2005 à 17:41:42    

Code :
  1. select concat(auteur,' de ',localite) as auteurlocal,
  2. select concat(nom,', ',auteur,' de ',localite) as auteurcomplet
  3. from tatable

Reply

Marsh Posté le 21-11-2005 à 17:44:33    

pfoui ! C'est du rapide ça ! Je vais jouer avec ça et tester ! Je suis sûr que je vais m'amuser.  
 
D'ailleurs, maintenant que j'y pense, je vais me retrouver avec un menu déroulant dans mon formulaire de recherche contenant une valeur qui s'appelle auteurlocal mais qui ne correspond à rien dans la table mysql (puisque c'est du concatené).  
 
En résumé : la requete que j'ai demandé tout à l'heure, c'était pour trouver les valeurs présentes dans la base à afficher dans un menu déroulant de mon formulaire de recherche. Jusqu'à là, je demande juste les auteurs, je me retrouve avec un menu déroulant portant sur une seule colonne de ma table mysql.  
 
Si j'ai un menu déroulant, avec valeur 'auteurlocal' qui est un concat de deux valeurs de la table, il faudra que je sépare ces deux valeurs avant de les représenter à mysql en disant :
 

Code :
  1. SELECT * FROM Mytable WHERE auteur LIKE '%auteur%' AND localite LIKE '%localite%' ;


 
Comment je fais pour séparer les deux valeurs ? Avec les expressions régulières de php j'imagine ??? Je me trompe ?
 
Merci


Message édité par thiebo12375 le 21-11-2005 à 17:53:12
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed