Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3144 connectés 

  FORUM HardWare.fr
  Programmation

  [MySQL] Requête assez compliquée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Requête assez compliquée

n°112518
Dost67
Posté le 15-03-2002 à 13:11:28  profilanswer
 

Voici ma table (search) :
Colonnes :   keyword    id
            histoire    10
            codes       10
            histoire    11
 
Le champs ID me sert à faire une jointure avec une autre table (news)... Quand je fais ça :

Code :
  1. SELECT DISTINCT news.news FROM news, search WHERE (search.keyword='histoire' OR search.keyword='codes') AND news.num=search.id


 
Le problème c'est qu'il va me sortir les 3 mots-clés ci-dessus or je ne voudrais que ceux qui ont le même ID. Par exemple comment demander

Code :
  1. 'histoire' et 'code' sachant que ces deux mots doivent avoir le même ID et que search.id == news.num

?
 
Merci d'avance.

mood
Publicité
Posté le 15-03-2002 à 13:11:28  profilanswer
 

n°112552
gizmo
Posté le 15-03-2002 à 14:11:05  profilanswer
 

c'est pas clair ce que tu veux, tu peux préciser les infos dont tu disposes avant de faire ta requete?

n°112558
Dost67
Posté le 15-03-2002 à 14:29:21  profilanswer
 

OK, donc les tables :

Code :
  1. Dans la table search :
  2. Colonnes : keyword      |    id
  3. -------------------------------
  4. Ligne 1 :  histoire     |    1
  5. Ligne 2 :  code         |    1
  6. Ligne 3 :  histoire     |    2
  7. Dans la table news :
  8. Colonnes : id        |     texte
  9. --------------------------------
  10. Ligne 1 :  1         |   Mon texte 1
  11. Ligne 2 :  2         |   Mon texte 2
  12. Ligne 3 :  3         |  etc...


 
Ce que je souhaite (je le fais en Français) :
Etape 1 : Sélectionner id de la table search tel que keyword='histoire' et keyword='code'  mais aussi que 'histoire' et 'code' aient le même id
Etape 2 : Sélectionner texte dans la table news tel que search.id_récupéré_avant=news.id

 

[jfdsdjhfuetppo]--Message édité par Dost67--[/jfdsdjhfuetppo]

n°112563
Dost67
Posté le 15-03-2002 à 14:30:29  profilanswer
 

En fait dans mon cas je fais une recherche sur keyword='histoire' AND keyword='code', je veux qu'il me sorte 'Mon texte 1'.

n°112566
Dost67
Posté le 15-03-2002 à 14:34:38  profilanswer
 

Bon j'ai l'impression que c'est toujours pas clair alors je fais le début de requête et je mets entre crochet ce que je ne sais pas faire :
 
SELECT news.texte FROM news, search WHERE (search.keyword='histoire' OR search.keyword='code';) AND [id de 'histoire' == id de 'code'] AND news.id=search.id

n°112572
Sh@rdar
Ex-PhPéteur
Posté le 15-03-2002 à 14:44:54  profilanswer
 

SELECT ... WHERE (search.keyword = 'keyword' OR search.code='code';) LEFT JOIN on search.id = news.id
 
ça devrait donner ça non ?
 
histoire |   1  | Mon texte 1 |
code     |   1  | Mon texte 1 |


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°112577
gizmo
Posté le 15-03-2002 à 14:51:29  profilanswer
 

Rhaaa! mais tu dis toujours pas ce que tu as au départ comme paramètre et ce que tu veux au final!

n°112580
Dost67
Posté le 15-03-2002 à 14:54:23  profilanswer
 

Au départ j'ai des mots clés dans un champs texte HTML. Puis traitement PHP pour faire ressortir les truc intéressants... Ensuite la requête. --> C'est un moteur de recherche.
 
Bon je dois partir. Pour le JOIN j'essaierai ce soir mais j'ai cru entendre que c'était un peu lourd à faire ce type de requête ?

n°112587
gizmo
Posté le 15-03-2002 à 15:16:18  profilanswer
 

Enfin! donc si j'ai bien compris tu veux faire une requete qui te sort l'article qui comprend les mots "hisoire" ET "code"
 
Dans ce cas

Code :
  1. SELECT news.news FROM news,search AS S1, search AS S2 WHERE news.id=S1.id AND S1.keyword='histoire' AND S2.keyword='codes' AND S1.id=S2.id


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [MySQL] Requête assez compliquée

 

Sujets relatifs
[Excel to MySQL] Feuille Excel dans base MySQL avec script Php ?[OBDC Mysql] Connection au serveur sql free avec Obdc
MySQL , problème avec les dates ....aide (fastoche)[PHP-MySQL] Refresh lors du retour à la pase suivante non désiré
Soluce rapide et simple pour migrer de Access vers MySql[SQL - MySQL] Erreur avec COUNT()
Access vers MysqlComment créer un tableau d'entiers sous MySQL ??????
[mysql]connection mysql sur free.fr
Plus de sujets relatifs à : [MySQL] Requête assez compliquée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR