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

    MySQL errore "Not unique table/alias:"

    Ragazzi ho un problema con una serie di left join da effettuare su database MySQL..

    L'errore che mi restituisce é questo:

    Not unique table/alias:
    Il problema si presenta nel momento in cui devo effettuare sulla stessa tabella più LEFT JOIN e di tabelle in cui devo fare più LEFT JOIN come riferimento sono due.. Riporto qui di seguito la query che uso, come potete vedere le due tabelle a cui devo fare riferimento più volte sono:

    - yacht_generators
    - yacht_features

    Questa la query che uso:
    codice:
    $sql=mysql_query("SELECT scheda_yacht.id,
                                         scheda_yacht.nome,
                                         scheda_yacht.prezzo,
                                         scheda_yacht.data,
                                         scheda_yacht.type_id,
                                         scheda_yacht.lenght_id,
                                         scheda_yacht.beam_id,
                                         scheda_yacht.draft_id,
                                         scheda_yacht.gt_id,
                                         scheda_yacht.hull_id,
                                         scheda_yacht.engines_id,                                                                                                      scheda_yacht.generators_1_id AS gen_1,
                                         scheda_yacht.generators_2_id AS gen_2,
                                         scheda_yacht.generators_3_id AS gen_3,
                                         scheda_yacht.generators_4_id AS gen_4,
                                         scheda_yacht.generators_5_id AS gen_5,
                                         scheda_yacht.speed_id,
                                         scheda_yacht.range_id,
                                         scheda_yacht.cabin,
                                         scheda_yacht.guests,
                                         scheda_yacht.crew,
                                         scheda_yacht.special_features_1_id AS features_1,
                                         scheda_yacht.special_features_2_id AS features_2,
                                         scheda_yacht.special_features_3_id AS features_3,
                                         scheda_yacht.special_features_4_id AS features_4,
                                         scheda_yacht.special_features_5_id AS features_5,
                                         scheda_yacht.built_id,
                                         scheda_yacht.builder_id,
                                         scheda_yacht.naval_designer_id,
                                         scheda_yacht.interior_designer_id,
                                         scheda_yacht.classification_id,
                                         scheda_yacht.flag_id,
                                         scheda_yacht.additional_details,
                                         scheda_yacht.fuel_id
                                         FROM scheda_yacht
    LEFT JOIN yacht_type ON yacht_type.id = scheda_yacht.type_id
    LEFT JOIN yacht_speed ON yacht_speed.id = scheda_yacht.speed_id
    LEFT JOIN yacht_range ON yacht_range.id = scheda_yacht.range_id
    LEFT JOIN yacht_lenght ON yacht_lenght.id = scheda_yacht.lenght_id
    LEFT JOIN yacht_interior_designer ON yacht_interior_designer.id = scheda_yacht.interior_designer.id
    LEFT JOIN yacht_hull ON yacht_hull.id = scheda_yacht.hull_id
    LEFT JOIN yacht_gt ON yacht_gt.id = scheda_yacht.gt_id
    LEFT JOIN yacht_generators ON yacht_generators.id = scheda_yacht.generators_1_id
    LEFT JOIN yacht_generators ON yacht_generators.id = scheda_yacht.generators_2_id
    LEFT JOIN yacht_generators ON yacht_generators.id = scheda_yacht.generators_3_id
    LEFT JOIN yacht_generators ON yacht_generators.id = scheda_yacht.generators_4_id
    LEFT JOIN yacht_generators ON yacht_generators.id = scheda_yacht.generators_5_id
    LEFT JOIN yacht_fuel ON yacht_fuel.id = scheda_yacht.fuel_id
    LEFT JOIN yacht_flag ON yacht_flag.id = scheda_yacht.flag_id
    LEFT JOIN yacht_features ON yacht_features.id = scheda_yacht.special_features_1_id
    LEFT JOIN yacht_features ON yacht_features.id = scheda_yacht.special_features_2_id
    LEFT JOIN yacht_features ON yacht_features.id = scheda_yacht.special_features_3_id
    LEFT JOIN yacht_features ON yacht_features.id = scheda_yacht.special_features_4_id
    LEFT JOIN yacht_features ON yacht_features.id = scheda_yacht.special_features_5_id
    LEFT JOIN yacht_engines ON yacht_engines.id = scheda_yacht.engines_id
    LEFT JOIN yacht_draft ON yacht_draft.id = scheda_yacht.draft_id
    LEFT JOIN yacht_naval_designer ON yacht_designer.id = scheda_yacht.naval_designer_id
    LEFT JOIN yacht_classification ON yacht_classification.id = scheda_yacht.classification_id
    LEFT JOIN yacht_built ON yacht_built.id = scheda_yacht.built_id
    LEFT JOIN yacht_builder ON yacht_builder.id = scheda_yacht.builder_id
    LEFT JOIN yacht_beam ON yacht_beam.id = scheda_yacht.beam_id                                             WHERE scheda_yacht.id = ('$id')") or die(mysql_error());

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    usa l'alias.

    Ad esempio : LEFT JOIN yacht_type as yt

  3. #3
    Ciao e grazie!, stavo giusto per editare il messaggio dicendo che, appunto, ho risolto usando gli alias!.. Era una cosa che non conoscevo bene, ora la conosco un pò di più

    Ecco quindi la mia query aggiornata, magari torna utile ad altri utenti:

    codice:
    LEFT JOIN yacht_generators a ON a.id = scheda_yacht.generators_1_id
    LEFT JOIN yacht_generators b ON b.id = scheda_yacht.generators_2_id
    LEFT JOIN yacht_generators c ON c.id = scheda_yacht.generators_3_id 
    LEFT JOIN yacht_generators d ON d.id = scheda_yacht.generators_4_id 
    LEFT JOIN yacht_generators e ON e.id = scheda_yacht.generators_5_id

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287

Tag per questa discussione

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.