• User

    [MySql] Query con due left join sulla stessa tabella

    Ciao a tutti.

    Ecco il mio problema:

    [PHP]SELECT tab1.name, tab2.name, tab3.name, tab3.name, tab4.username

                    FROM tab1 
                     
                        INNER JOIN tab2 
                            ON tab2.id = tab1.id 
                         
                        LEFT JOIN tab3 
                            ON tab3.ref_id = tab1.id 
                            AND tab3.id = $id 
                            AND tab3.category_id = '1'                         
                         
                        LEFT JOIN tab3 
                            ON tab3.ref_id = tab2.id 
                            AND tab3.id = $id 
                            AND tab3.category_id = '2'                             
                         
                        INNER JOIN tab5 
                            ON tab5.id = tab1.id 
                            OR tab5.id = tab3.ref_id 
                         
                        INNER JOIN tab4 
                            ON tab4.id = tab5.id 
                             
                    WHERE tab1.name 
                        LIKE '%$value%' 
                    OR tab3.name 
                        LIKE '%$value%'";[/PHP]
    

    La tab3 prima era divisa in 2 tabelle che ora ho fuso insieme e tramite il category_id posso distinguere i valori.
    Ora però mi ritorna un errore perché la tabella è ripetuta.
    Come fare?

    Grazie.


  • ModSenior

    Ciao,

    Dovrei fare cosi per una delle 2:
    [php]
    LEFT JOIN tab3 AS tab3_b
    ON tab3_b.ref_id = tab2.id
    AND tab3_b.id = $id
    AND tab3_b.category_id = '2'
    [/php]