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

    FREETEXTTABLE con "AND"

    Ciao a tutti,
    io uso la seguente query SQL per ricercare in un db mssql:

    codice:
    SELECT * FROM tabella
    INNER JOIN 
    FREETEXTTABLE(tabella, colonna, 'ramo rosso') AS T ON tabella.Id_Riga = T.[KEY] 
    ORDER BY T.RANK DESC;
    questa query mi restituisce tutti i record che contengono almeno uno dei seguenti termini 'ramo rosso' e me ne crea un rank.

    ma sei io volessi che il risultato debba contenere entrambi i termini inseriti 'ramo rosso'?

    cerco di spiegarmi meglio... ora funziona con la logica 'ramo' OR 'rosso', ma se io volessi 'ramo' AND 'rosso', come devo intervenire (sempre se possibile)?

    ps. ho provato così '"ramo rosso"' solo che mi estrapola solo i record che contengo precisamente la stessa espressione... es: '"rosso ramo"' è diverso da '"ramo rosso"' cosa che non va bene.

    Grazie tante per la collaborazione,
    ciao
    La Gratitudine è la prima cosa nella vita...

    Grazie a tutti

  2. #2

    Re: FREETEXTTABLE con "AND"

    codice:
    SELECT * FROM tabella
    INNER JOIN 
    FREETEXTTABLE(tabella, colonna, 'ramo AND   rosso') AS T ON tabella.Id_Riga = T.[KEY] 
    ORDER BY T.RANK DESC;

  3. #3
    Ciao dizionario, e grazie per la risposta,
    però, FREETEXTTABLE ignora ogni componente del tipo OR o AND nella sua query.

    altri consigli?

    ps. avrei risolto in parte introciando la mia query con un CONTAINSTABLE...
    La Gratitudine è la prima cosa nella vita...

    Grazie a tutti

  4. #4
    hai ragione, è CONTAINSTABLE che lo supporta,
    se non vuoi usare appunto solo CONTAINSTABLE, io non mischierei i 2

    piuttosto farei così:

    Codice PHP:
    SELECT TB1.* FROM tabella AS TB1,
    FREETEXTTABLE(tabellacolonna'ramo',10000) AS TBKEY1,
    FREETEXTTABLE(tabellacolonna'rosso',10000) AS TBKEY2
    WHERE
    TB1
    .ID=TBKEY1.[KEY]
    AND
    TB1.ID=TBKEY2.[KEY]
    ORDER BY (TBKEY1.RANK)+(TBKEY2.RANKDESC 

  5. #5
    grazie ancora,
    io non li ho mischiati nel senso che ho inserito i comandi insieme, ma ho semplicemente duplicato la query, ed inserito un controllo che seleziona, in base alle scelte dell'utente, la query più opportuna.

    per ora la soluzione mi soddisfa, anche perchè ho risolto con un replace alla fonte.

    grazie cmq per l'aiuto, mi appunterò la tua proposta.
    La Gratitudine è la prima cosa nella vita...

    Grazie a tutti

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 © 2026 vBulletin Solutions, Inc. All rights reserved.