Visualizzazione risultati 1 fino 11 di 11

Discussione: Problema con una query

  1. #1
    Guest

    Predefinito

    Ho un piccolo problema con una query

    faccio un join tra due tabelle che hanno un campo compatibile ma se uno dei valori e null la riga viene esclusa... mi spiego meglio

    Ho 2 tabelle
    Calciatori (nome,cognome,ruolo,squadra)
    Societa (id_societa, nome_societa)

    SELECT * FROM
    fantamanager INNER JOIN calciatori INNER JOIN societa ON calciatori.squadra = societa.id_societa
    WHERE cognome='pincopallino'

    poichè il campo squadra di calciatori può essere null (giocatori svincolati) la riga corrispondente non viene selezionata!!!

    Spero di aver spiegato bene il problema!!!
    Grazie
    Luketto

  2. #2
    Guest

    Predefinito

    Credo ti convenga postare nella sezione "Supporto ---> Livello 4"

  3. #3
    Guest

    Predefinito

    Spostato

  4. #4
    Guest

    Predefinito

    Grazie per aver spostato il mio messaggio, ma fino ad ora non ho avuto risposta!!!!

  5. #5
    Guest

    Predefinito

    Purtroppo non ho più il mio bel libro sui DB e non mi ricordo granchè...però mi pare di ricordare l'esistenza di diverse JOIN, il problema è che non mi ricordo esattamente come funzionino.
    Prova un po' a vedere cosa succede usando OUTER JOIN oppure LEFT JOIN o RIGHT JOIN.
    Ribadisco comunque che potrei aver scritto una bella cavolata perchè è da un po' che non tocco un db.

  6. #6
    Guest

    Predefinito

    Ti ringrazio cmq per aver risposto!!! Appena ho un po di tempo provo!!!
    Grazie

  7. #7
    Guest

    Predefinito

    provo a fare un esempio

    CALCIATORI
    NOME COGNOME RUOLO SQUADRA
    Pippo Inzaghi A 1
    Christian Vieri A 2
    Luca Santy C NULL (non gioca in nessuna squadra)

    SQUADRE
    ID_SOCIETA NOME_SOCIETA
    1 MILAN
    2 INTER

    facendo la query ottengo questo...
    SELECT * FROM calciatori INNER JOIN societa ON calciatori.squadra = societa.id_societa

    NOME COGNOME RUOLO SQUADRA NOME_SOCIETA
    Pippo Inzaghi A 1 MILAN
    Christian Vieri A 2 INTER

    mi esclude Luca Santy perchè non può fare il Join essendo il Campo compatibile tra le due relazioni NULL!!! Il mio obiettivo è questo invece...
    NOME COGNOME RUOLO SQUADRA NOME_SOCIETA
    Pippo Inzaghi A 1 MILAN
    Christian Vieri A 2 INTER
    Luca Santy C NULL

    meglio di cosi' non ci riesco!!!
    help me

  8. #8
    Guest

    Predefinito

    SELECT * FROM calciatori LEFT JOIN societa ON calciatori.squadra = societa.id_societa

  9. #9
    Guest

    Predefinito

    I vari tipi di join sono???
    Inner, left, right, e poi?

  10. #10
    Guest

    Predefinito

    dipendono dall'RDBMS. Per MySQL vedi http://www.mysql.com/doc/en/JOIN.html

  11. #11
    Guest

    Predefinito

    Grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •