[MySQL-résolu] apprécierais aide sur requete

apprécierais aide sur requete [MySQL-résolu] - SQL/NoSQL - Programmation

Marsh Posté le 03-11-2003 à 18:10:33    

Soit un annuaire de sites
 
Avec
-1 table sites (id, url, sitefr...)
-1 table langue_site (id_langue, id_site) où id_site correspond à id de la table sites et id_langue a des valeurs de 1 à 4 (fr-de-it-en, classique)-> il peut y avoir jusqu'à 4X le même id_site dans cette table.
 
 
Parmi les possibilités de recherche, j'aimerais pouvoir proposer une recherche permettant de combiner les langues (genre : site fr/de, fr/it/en)...
 
Pour l'instant, je n'ai pas pu faire mieux que ça

Code :
  1. SELECT DISTINCT id, url, sitefr,  FROM sites, langue_site WHERE sites.id=langue_site.id_site AND langue_site.id_langue IN (1 , 2) ORDER BY sitefr
  2. -> "fr OU de" avec cette solution, pas "fr ET de"


(je n'ai mis que la partie concernant la langue, la recherche se fait aussi sur d'autres champs de la table sites).
 
Suis relativement pive au niveau SQL, -> si vous aviez une piste...


Message édité par deliriumtremens le 04-11-2003 à 08:35:36
Reply

Marsh Posté le 03-11-2003 à 18:10:33   

Reply

Marsh Posté le 03-11-2003 à 18:55:36    

version brouillon:
 
select id, url, sitefr
from site, langue l1, langue l2
where site.id=l1.id_site
and l1.id_langue=1
and l1.id_site=l2.id_site
and l2.id_langue=2

Reply

Marsh Posté le 03-11-2003 à 23:23:38    

j'ai pas bien compris ce que tu cherches à faire.
 
mettons que je désire un site contenant le mot "mysql" dans le nom et qui soit soit fr soit en.
 
Mettons que dans la base t'as 10 sites contenant ce mot, dont 4 en fr, 2 en it, 2 en en, 1 en de, et 1 à la fois en fr et en en.
 
Tu veux quoi comme résultat ?
 
site 1 (fr)
site 2 (fr)
site 3 (fr)
site 4 (fr)
site 5 (en)
site 6 (en)
site 7 (fr/en)
 
C'est ça ? (les valeurs entre parenthèse ne sont pas affichée)
 
A ce moment, ta requête me semble bonne non ? Elle retourne quoi ?


Message édité par MagicBuzz le 03-11-2003 à 23:24:30
Reply

Marsh Posté le 04-11-2003 à 08:35:21    

->Merchi Gizmo,  c'est parfait.
(j'avais tenté un truc du genre, sans penser à refaire le ln.id_site=sites.id à chaque fois, sot que je suis).
 
->Magic : le but était de choisir 1 à 4 langues, mais combinées par ET plutôt que OU


Message édité par deliriumtremens le 04-11-2003 à 08:37:30
Reply

Sujets relatifs:

Leave a Replay

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