Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454

    [MySQL] SELECT WHERE LIKE

    Salve ragazzi,

    ancora una volta ho problemi con mysql...

    Sto facendo (come avevo già accennato) un forum e ora sono alla frutta Cioé alla "ricerca".

    Il problema è il seguente, riesco a fargli fare tutto come voglio per quando riguarda la ricerca con la WHERE Clause, solo che non mi dà i risultati sperati.

    Se faccio la seguente ricerca:

    codice:
    SELECT DISTINCT d.*
    FROM
    discussioni d,posts p,posts_testo pt
    WHERE
    (p.poster_id='1')
    AND pt.post_testo LIKE '%amo%'
    AND d.forum_id='3'
    ORDER BY d.disc_ult_risp_id ASC
    Guardando il DB dovrebbe restituirmi 2 discussioni, cioé 2 righe. Mentre invece mi restituisce 4 righe, di cui due discussioni non presentano alcuna parola con in mezzo "amo".

    Ora sicuramente sto sbagliando qualcosa nel "AND pt.post_testo LIKE '%amo%'" ma cosa?

    La cosa strana è che se invece di fare "SELECT d.*" faccio "SELECT pt.*" le trova giuste le righe...

    Vi ringrazio in anticipo.

    PS: Altrimenti potrei anche memmorizzare gli id della tabella pt e ricavare poi da lì gli id della tabella discussioni... solo che sarebbero altre 2 query che vorrei evitare.

  2. #2
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    UP

  3. #3
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Lascia perdere il distinct e fai un join tra le tabelle invece del prodotto cartesiano, e vedrai che risolvi i tuoi problemi.

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.