Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Left join 3 tabelle

  1. #1

    Left join 3 tabelle

    ciao
    io ho questa query che fa una join con 3 tabelle, ma mi restituisce questo errore:
    Not unique table/alias: 'tbl_category_txt'

    la query è la seguente... chi mi direbbe come si fa a sistemare sto errore?

    $sql = "SELECT DISTINCT tbl_category_vis.cat_id_liv0, tbl_category_txt.catxt_name, tbl_category.posizione
    FROM tbl_category_vis, tbl_category
    LEFT JOIN tbl_category_txt ON tbl_category_vis.cat_id_liv0 = tbl_category_txt.cat_id
    LEFT JOIN tbl_category_txt ON tbl_category.cat_id = tbl_category_txt.cat_id
    WHERE tbl_category_vis.catvis_lan = '$lan' AND tbl_category_txt.catxt_lingua = '$lan' ORDER BY tbl_category.posizione";
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    $sql = "SELECT DISTINCT tbl_category_vis.cat_id_liv0, tbl_category_txt.catxt_name, tbl_category.posizione
    FROM tbl_category_vis, tbl_category
    LEFT JOIN tbl_category_txt ON tbl_category_vis.cat_id_liv0 = tbl_category_txt.cat_id
    LEFT JOIN tbl_category_txt AS tbl_category_txt_2 ON tbl_category.cat_id = tbl_category_txt_2.cat_id
    WHERE tbl_category_vis.catvis_lan = '$lan' AND tbl_category_txt.catxt_lingua = '$lan' ORDER BY tbl_category.posizione";

    e cosi?

  3. #3
    con la tua soluzione mi da questo errore:

    Unknown column 'tbl_category_vis.cat_id_liv0' in 'on clause'
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Ma tu devi veramente fare due volte la join con la stessa tabella?

  5. #5
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    a dir la verità. ora che guardo meglio mancano le parentesi...
    $sql = "SELECT DISTINCT tbl_category_vis.cat_id_liv0, tbl_category_txt.catxt_name, tbl_category.posizione
    FROM tbl_category_vis,
    ( tbl_category LEFT JOIN tbl_category_txt ON tbl_category_vis.cat_id_liv0 = tbl_category_txt.cat_id )
    LEFT JOIN tbl_category_txt AS tbl_category_txt_2 ON tbl_category.cat_id = tbl_category_txt_2.cat_id
    WHERE tbl_category_vis.catvis_lan = '$lan' AND tbl_category_txt.catxt_lingua = '$lan' ORDER BY tbl_category.posizione";


    se il problema persiste, è su una cosa che io non ho toccato...

    verfica bene questo campo
    DISTINCT tbl_category_vis.cat_id_liv0

  6. #6
    sinceramente nn ho altre idew per le join.
    devo collegare 3 tabelle e non so proprio come fare...

    le tabelle sono cosi composte:


    tbl_category_vis
    cat_id_liv0

    tbl_category_txt
    catxt_id
    cat_id
    catxt_name

    tbl_category
    cat_id
    posizione

    devo mettere a video il nome della categoria ordinata per la posizione della tab_category, e poi devo mettermi in una variabilie cat_id_liv0.

    idee ?
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  7. #7
    risolto cosi:

    $sql = "SELECT DISTINCT tbl_category_vis.cat_id_liv0, tbl_category_txt.catxt_name, tbl_category.posizione
    FROM tbl_category_vis
    LEFT JOIN tbl_category ON tbl_category_vis.cat_id_liv0 = tbl_category.cat_id
    LEFT JOIN tbl_category_txt ON tbl_category.cat_id = tbl_category_txt.cat_id
    WHERE tbl_category_vis.catvis_lan = '$lan'
    AND tbl_category_txt.catxt_lingua = '$lan'
    ORDER BY tbl_category.posizione";
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

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.