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

    join multiplo ad una stessa tabella

    Ciao a tutti,

    ho questa query, funzionante, dove estraggo gli utenti iscritti sia ai seminari direttamente sia ai corsi che li comprendono:

    codice:
    SELECT corsi_has_seminari.seminari_idseminari AS semExCorsi,  iscrizioni.idiscrizioni,  iscrizioni.dataritiro, seminari.idseminari, seminari.titolo,seminari.oretotali, utenti.idutenti, utenti.nome, utenti.cognome, corsi.titoloCorsi FROM iscrizioni 
    LEFT JOIN seminari ON iscrizioni.seminari_idseminari = seminari.idseminari 
    LEFT JOIN corsi_has_seminari ON iscrizioni.corsi_idcorsi = corsi_has_seminari.corsi_idcorsi 
    LEFT JOIN utenti ON iscrizioni.utenti_idutenti = utenti.idutenti 
    LEFT JOIN corsi ON iscrizioni.corsi_idcorsi = corsi.idcorsi 
    WHERE iscrizioni.seminari_idseminari IN (" . implode(",", $semselected) . ") OR corsi_has_seminari.seminari_idseminari IN (" . implode(",", $semselected) . ") 
    ORDER BY utenti.cognome"
    dove $semselected è un array che contiene l'elenco degli ID seminari di cui interessa conoscere gli iscritti (proveniente da un multi-select)

    Necessito pero di linkare ancora la tabella seminari (che contiene il nome dei seminari) per ottenere il titolo degli stessi anziche il solo ID, qualcosa come:
    LEFT JOIN seminari ON semExCorsi= seminari.idseminari
    ma essendoci gia il link:
    LEFT JOIN seminari ON iscrizioni.seminari_idseminari = seminari.idseminari
    non viene presa scritta cosi.

    come devo rinominare la tabella seminari per collegarla un altra volta nella stessa query ed estrarre i titoli?

    Grazie in anticipo
    Nik
    Ultima modifica di nicemotion; 30-01-2015 a 01:00

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da nicemotion Visualizza il messaggio
    ...... qualcosa come:
    LEFT JOIN seminari ON semExCorsi= seminari.idseminari
    devi usare gli Allias di tabella, piu o meno cosi:
    LEFT JOIN seminari AS SM ON semExCorsi= SM.idseminari

  3. #3
    Quote Originariamente inviata da nman Visualizza il messaggio
    devi usare gli Allias di tabella, piu o meno cosi:
    LEFT JOIN seminari AS SM ON semExCorsi= SM.idseminari
    Ciao nman, e grazie.

    scritta cosi non va, neanche sostituendo a semExCorsi l'originale:

    LEFT JOIN seminari AS SM ON corsi_has_seminari.seminari_idseminari = SM.idseminari

    mi restituisce "Unknown column 'corsi_has_seminari.seminari_idseminari' in 'on clause'" or "Unknown column 'semExCorsi' in 'on clause'"

    Una cosa, se dovessi riuscire a farla andare poi la select del nome seminario devo farla tipo..

    SELECT SM.titolo AS nomesemExCorsi ?

    Grazie, Nik

  4. #4
    ho provato anche a riscriverla così:

    codice:
    SELECT SM.titolo, corsi_has_seminari.seminari_idseminari AS semExCorsi, seminari.idseminari, iscrizioni.idiscrizioni,  iscrizioni.dataritiro, seminari.idseminari, seminari.titolo,seminari.oretotali, utenti.idutenti, utenti.nome, utenti.cognome, corsi.titoloCorsi 
    FROM iscrizioni 
    LEFT JOIN seminari AS SM ON semExCorsi = SM.idseminari 
    LEFT JOIN seminari ON iscrizioni.seminari_idseminari = seminari.idseminari  
    LEFT JOIN corsi_has_seminari ON iscrizioni.corsi_idcorsi = corsi_has_seminari.corsi_idcorsi 
    LEFT JOIN utenti ON iscrizioni.utenti_idutenti = utenti.idutenti 
    LEFT JOIN corsi ON iscrizioni.corsi_idcorsi = corsi.idcorsi 
    WHERE iscrizioni.seminari_idseminari IN (" . implode(",", $semselected) . ") 
    OR corsi_has_seminari.seminari_idseminari IN (" . implode(",", $semselected) . ") 
    ORDER BY utenti.cognome
    ma non va (Unknown column 'semExCorsi' in 'on clause')

    stesso dicasi sostituendo corsi_has_seminari.seminari_idseminari a semExCorsi nel left join in bold ...

    Any suggestion ?

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.