Visualizzazione dei risultati da 1 a 5 su 5

Discussione: valore null con sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70

    valore null con sql

    ciao a tutti,

    ho una tabella mysql dove metto i dati degli amici (id_amico, nome, cognome).
    in un'altra, invece, metto il loro hobby (id_hobby, id_amico, nome_hobby).

    creo la sql $query="SELECT * FROM amici INNER JOIN hobby ON amici.id_amico=hobby.id_amico";

    il problema è che quando un nuovo amico non ha ancora nessun hobby, nella tabella dove mi serve che risulti

    nome nome_hobby

    non mi spunta il rigo relativo a quello che non ha hobby, ma eppure esiste nella tabella amici.

    quale è il problema? grazie per l'aiuto

  2. #2
    usa LEFT JOIN al posto di INNER JOIN

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Originariamente inviato da piero.mac
    usa LEFT JOIN al posto di INNER JOIN
    esattamente.

    Shira, se hai qualche nozione di insiemistica, immagina che la inner join corrisponda all'intersezione di due insiemi; in pratica i valori identificati sono quelli comuni ad entrambi gli insiemi.

    ciao,stefano

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    grazie di cuore per l'aiuto. adesso funziona correttamente, ma utilizzando RIGHT OUTER JOIN altrimenti se in una tabella non vi era corrispondenza non mi risultava un valore.

    adesso però (causa la mia inesperienza essendo alle prime armi!!), ho un'altro problema....non capisco perchè se specifico che voglio solo i risultai che hanno un certo valore con WHERE uno solo mi restituisce i risultati, gli altri no.

    ad esempio dico di tirarmi fuori tutti quelli con valore 5 ....WHERE ore='5'....., ma non appena metto ad esempio..WHERE ore='4'...non mi restituisce risultati nonostante siano presenti in database.

    sapreste spiegarmi il perchè...in sostanza mi stampa solo quel valore con 5, gli altri no!!!

    grazie ancora

  5. #5
    Originariamente inviato da shira
    grazie di cuore per l'aiuto. adesso funziona correttamente, ma utilizzando RIGHT OUTER JOIN altrimenti se in una tabella non vi era corrispondenza non mi risultava un valore.

    adesso però (causa la mia inesperienza essendo alle prime armi!!), ho un'altro problema....non capisco perchè se specifico che voglio solo i risultai che hanno un certo valore con WHERE uno solo mi restituisce i risultati, gli altri no.

    ad esempio dico di tirarmi fuori tutti quelli con valore 5 ....WHERE ore='5'....., ma non appena metto ad esempio..WHERE ore='4'...non mi restituisce risultati nonostante siano presenti in database.

    sapreste spiegarmi il perchè...in sostanza mi stampa solo quel valore con 5, gli altri no!!!

    grazie ancora
    interessante .... :master:
    potrebbe dipendere dal tipo di colonna che stai utilizzando ?

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.