IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

match / against -> multi tables


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Par défaut match / against -> multi tables
    Bonjour à tous !

    Voila je me suis lancé dans un "moteur de recherche" oui entre guillemets car c'est plutôt mysql le moteur dans l'histoire.

    Alors voilà j'ai plusieurs tables dans lesquelles, j'aimerais faire une recherche MATCH/AGAINST.

    J'ai essayé ceci mais vous vous en doutez bien, c'est loin d'être bon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT `product.ref_product`, `product.city_product`, `product_en.desc_product`, `product_en.type_product`,  
    MATCH (`product.city_product`, `product_en.desc_product`, `product_en.type_product`) 
    AGAINST ('tototototo') 
    AS `score` 
    FROM `product`, `product_en` 
    WHERE
    MATCH (`product.city_product`, `product_en.desc_product`, `product_en.type_product`) 
    AGAINST ('tototototo') 
    AND
    product.id_product = product_en.id_product;
    Unknown column 'product.ref_product' in 'field list'

    J'ai beau chercher sur google je trouve pleins d'exemple certe mais pas sur du multitable... Quelqu'un aurait il une idée?

    Je tiens à préciser qu'en mono table sur plus de 17000 enregistrements, ça marche nikel.

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    `product`.`ref_product`

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Par défaut
    hihihi oui merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT `product`.`ref_product`, `product`.`city_product`, `product_en`.`desc_product`, `product_en`.`type_product`,  
    MATCH (`product`.`city_product`, `product_en`.`desc_product`, `product_en`.`type_product`) 
    AGAINST ('tototototo') 
    AS `score` 
    FROM `product`, `product_en` 
    WHERE
    MATCH (`product`.`city_product`, `product_en`.`desc_product`, `product_en`.`type_product`) 
    AGAINST ('tototototo') 
    AND
    product.id_product = product_en.id_product;

    Incorrect arguments to MATCH


    Que penses tu cependant de la requête au niveau multitables?

  4. #4
    Membre confirmé
    Avatar de savageman86
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Par défaut
    Je ne sais pas si c'est possible car quand on enregistre un index FULLTEXT, on spécifie les colonnes sur lesquels il est utilisé, et je crois qu'on ne peut pas le spécifier sur plusieurs tables...).

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Par défaut
    j'ai compris avec plusieurs personnes, que je ne pouvais effectivement pas... C'est bizarre tout de même mais bon. Je me suis donc rabattu sur une requête LIKE. Or il me sort une SQL Sytax Error.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT `product`.`ref_product`, `product`.`city_product`, `product_en`.`desc_product`, `product_en`.`type_product`,  
    FROM `product`, `product_en` 
    WHERE `product`.`city_product` LIKE '%MaStr%' 
    OR `product_en`.`desc_product` LIKE '%MaStr%' 
    OR `product_en`.`type_product` LIKE '%MaStr%' 
    ORDER BY `id_product` DESC
    Auriez-vous une idée?

Discussions similaires

  1. [MySQL] Requête multi tables avec Match et Against
    Par laipreu dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/12/2011, 15h20
  2. match / against -> multi tables
    Par SpyesX dans le forum Requêtes
    Réponses: 0
    Dernier message: 23/05/2008, 14h49
  3. requete multi table - multi champ
    Par Jean-Matt dans le forum Oracle
    Réponses: 6
    Dernier message: 14/10/2005, 17h18
  4. Sélection multi table avec condition
    Par iuz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/05/2004, 15h04
  5. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo