Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33

    [MySql] Problema con subquery su 3 tabelle

    Ciao a tutti, ho queste 3 tabelle:

    UTENTI
    id_utente [AI] nome cognome
    1 Pippo Super
    2 Paperino Peperinik
    3 Topolino De Topis




    TESTO
    id_testo [AI] id_utenteU [relazione] testo
    1 3 Ciao a tutti!
    2 1 Come va?
    3 2 Tutto bene?




    RISPOSTE
    testoRisposta id_testoT [relazione]
    Ciao a te! 1
    Qui tutto ok! 3



    La tebella TESTO è collegata ad UTENTI tramite la colonna id_utenteU;
    La tabella RISPOSTE è collegata a TESTO tramite la colonna id_testoT;

    Sto provando a recuperare i valori delle 3 tabelle, ma solo quelli dove è presente la risposta. Questo è il codice che però mi restituisce ZERO valori:

    Codice PHP:
    SELECT 
       nome
    ,
       
    cognome,
       
    testo,
       
    testoRisposta
     FROM
       utenti
    ,
       
    testo,
       
    risposte
     WHERE 
       id_utenteU 
    id_utente
     
    AND
       
    testoRisposta = (SELECT
             id_testoT
          FROM 
             risposte
          WHERE id_testoT 
    id_testo)

    Dove sbaglio?
    Grazie.
    Ultima modifica di Oslino; 11-07-2014 a 15:38

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da F@bius Visualizza il messaggio
    codice:
    SELECT u.nome, u.cognome, t.testo, r.testoRisposta FROM utenti u JOIN testo t ON t.id_utenteU = u.id_utente JOIN risposte r ON r.id_testoT = t.id_testo
    'cipicchia! Sembra funzioni.
    Visto che sei così GURU sapresti dirmi anche se è possibile recuperare i valori di tutte le tabelle e che restituisca anche il nome e cognome malgrado nella tabella risposte non ci sia nessun valore corrispondente??

    Nel senso che mi restituisca il nome e cognome di tutti, il testo di tutti e la risposta solo dove c'è?

    u.nome u.cognome t.testo r.testoRisposta
    Pippo Super Come va? [NULL]
    Paperino Paperinik Tutto bene? Qui tutto ok!
    Topolino De Topis Ciao a tutti! Ciao a te!
    Grazie!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da F@bius Visualizza il messaggio
    codice:
    SELECT u.nome, u.cognome, t.testo, r.testoRisposta FROM utenti u JOIN testo t ON t.id_utenteU = u.id_utente LEFT JOIN risposte r ON r.id_testoT = t.id_testo
    Che dire... di poche parole ma efficace! Funziona alla perfezione, anche se non mi sarebbe dispiaciuto capire il perchè la mia query non funzionava.
    Grazie mille!

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.