Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    query complicata MATCH AGAINST + LEFT JOIN doppio

    ciao tutti.

    Ho tre tabelle

    categorie:
    id
    nome
    descrizione


    province
    id
    nome
    descrizione

    siti
    id
    id_cat
    id_pro
    titolo
    descrizione
    e altro non importante

    Ovviamente id_pro e id_cat corrispondono alla colonna id delle rispettive tabelle.

    poi ho una query del genere:
    Codice PHP:
    SELECT id,id_cat,id_pro,id,url,titolo,descrizioneMATCH(titolo,descrizioneAGAINST('{$_POST['cerca']}' IN BOOLEAN MODE) AS attinenza FROM siti WHERE MATCH(titolo,descrizioneAGAINST('{$_POST['cerca']}' IN BOOLEAN MODE".$where." ORDER BY attinenza DESC 
    La query funziona, però io vorrei che cercasse anche nel campo descrizione e nome delle altre due tabelle.
    Avevo pensato di fare un LEFT JOIN ma è un po' complicato.

    Come spunto ho quest'altra query che fa il join di quetse tre tabelle ma non la ricerca:

    Codice PHP:
    SELECT siti.*, province.nome AS pro_nomecategorie.nome AS cat_nomeprovince.descrizione AS pro_descategorie.descrizione AS cat_des FROM siti LEFT JOIN province ON province.id siti.id_pro LEFT JOIN categorie ON categorie.id siti.id_cat 
    Spero che qualcuno riesca ad aiutarmi.
    Grazie a tutti e ciao

  2. #2
    EDIT:
    che scemo che sono la tabella province non ha il campo descrizione, solo categorie lo ha.
    Ora va, però vorreis apere se posso togliere tutti gli AS (tranne attinenza ovviamente) perchè a me in fin dei conti non interessano i contenuti dei nomi e delle descrizioni.
    E poi volevo sapere se devo rendere full text anche i campi delle tabelle descrizioni e province <<< mi rispondo da solo a questa: ho provato e funziona anche senza full.text, però ora vorrei sapere come mai?
    Attendo risposte

    Codice PHP:
    SELECT siti.*, province.nome AS pro_nomecategorie.nome AS cat_nomecategorie.descrizione AS cat_desMATCH(siti.titolositi.descrizioneprovince.nomecategorie.nomecategorie.descrizioneAGAINST('{$_POST['cerca']}' IN BOOLEAN MODE) AS attinenza FROM siti LEFT JOIN province ON province.id siti.id_pro LEFT JOIN categorie ON categorie.id siti.id_cat WHERE MATCH(siti.titolositi.descrizioneprovince.nomecategorie.nomecategorie.descrizioneAGAINST('{$_POST['cerca']}' IN BOOLEAN MODE".$where." ORDER BY attinenza DESC 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.