Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: INNER JOIN - help -

  1. #1
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112

    INNER JOIN - help -

    Salve
    vi spiego il fatto.
    ho tre tabelle e devo fare un query su entrambe.
    La select cha esegue è questa :
    SELECT * FROM (tbl_utenti INNER JOIN tbl_account ON tbl_utenti.ID=tbl_account.ID) INNER JOIN tbl_status_account ON tbl_status_account.ID=tbl_account.ID

    Ora.. tbl_utenti e tbl_account sono sempre valorizzate, cioè se tbl_utenti ha un record ..sicuramente per quel record c'è una corrispondenza in tbl_account.

    questo non capita con tbl_status_account, che potrebbe non essere ancora valorizzato.

    il risultato di questa query è che se tutte e 3 le tabelle sono valorizzate ( per quell'ID) allora avrò un output, altrimenti non mi tira fuori nulla!

    Domanda :
    Come devo fare per farmi dare l'output anche se la terza tabella "tbl_status_account" non è valorizzata ?

  2. #2
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    raga ho provato con : RIGHT OUTER JOIN tbl_status_account ON tbl_utenti.ID=tbl_status_account.ID

    ma mi dice : Join expression not supported.



  3. #3
    sbagli direzione

    prova accussì

    SELECT * FROM tbl_utenti tu
    INNER JOIN tbl_account ta ON tu.ID=ta.ID
    LEFT JOIN tbl_status_account tsa ON ta.ID =tsa.ID

  4. #4
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    frà sì o' mostr!!!
    grandissimo

    l'unica cosa che ho cambiato sono le parentesi :
    SELECT * FROM (tbl_utenti tu INNER JOIN tbl_account ta ON tu.ID=ta.ID) LEFT JOIN tbl_status_account tsa ON ta.ID=tsa.ID

    altrimenti mi dava errore..

    mi puoi spiegare brevemente la cosa.. ?
    a che serve mettere "tbl_utenti tu"


  5. #5
    a che serve mettere "tbl_utenti tu"
    il "tu" dopo il nome della tabella è l'alias che ho dato, come capita avvolte di fare con una colonna in select.
    Da quel momento ti puoi evitare di ripetere tutto il nome della tabella e usare solo il suo alias

    tu.id è = a tbl_utenti.id

  6. #6
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    l'ultima e poi prometto che me lo studio come si deve sql!

    io faccio :

    SELECT * FROM (tbl_utenti INNER JOIN tbl_uinfo ON tbl_utenti.ID=tbl_uinfo.ID) INNER JOIN tbl_uimovie on tbl_uimovie.ID=tbl_utenti.ID

    e fin qui tutt'ok .

    ora io vorrei che me li tiri fuori solo se in tbl_status_account c'è un ID corrispondente.

    ho pensato di fare come mi hai detto prima, però ho usato il "RIGHT" e ho aggiunto :
    RIGHT JOIN tbl_status_account ON tbl_utenti.ID=tbl_status_account.ID

    ma mi da errore : Join expression not supported.
    che devo fà ?

  7. #7
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    l'hai aggiunto dove? 10 righe prima

    posta tutta la query
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  8. #8
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    ok ok ..
    SELECT * FROM (tbl_utenti INNER JOIN tbl_uinfo ON tbl_utenti.ID=tbl_uinfo.ID) INNER JOIN tbl_uimovie on tbl_uimovie.ID=tbl_utenti.ID RIGHT JOIN tbl_status_account ON tbl_utenti.ID=tbl_status_account.ID


  9. #9
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    dai, puoi farcela
    Originariamente inviato da cuollins
    ...
    l'unica cosa che ho cambiato sono le parentesi :
    ...
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  10. #10
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    cacchiarola.. aspè mo provo..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.