SQL SELECT restituisce più valori del dovuto

di il
2 risposte

SQL SELECT restituisce più valori del dovuto

Salve a tutti, sto avendo dei problemi con una query SELECT, che invece di restituirmi un solo valore, me ne restituisce troppi. Qui di seguito il codice:

SELECT DISTINCT costi.id, costo, descrizione, categoria
FROM costi
INNER JOIN categorie
WHERE costi.id = $_POST['id'];
La query pesca dati da un DB con due tabelle costi e categorie (IMG LLEGATA).
DB.jpg
DB.jpg

Il problema che sto avendo è che se per esempio eseguo la query su PHP my admin (inserendo al posto di $_POST['id'] l'ID di un costo tipo 140), invece di tornarmi indietro soltanto una riga con i dati associati, me ne tornano indietro due (una per ogni categoria che ho creato).
Sono righe identiche, con gli stessi valori, ad eccezione del campo categoria che è diverso.

Qualcuno può aiutarmi?

2 Risposte

  • Re: SQL SELECT restituisce più valori del dovuto

    La soluzione e' banale:

    escludi dalla SELECT la categoria ed applica una DISTINTC


    PROBLEMA: questo e' solo un accrocchio. Molto probabilmente esiste un problema a MONTE oppure stai facendo dei ragionamenti ERRATI.
  • Re: SQL SELECT restituisce più valori del dovuto

    Ciao Grazie della risposta, mi sono reso conto che ho omesso l'ON nella query scrivendola a questo modo ora restituisce il valore corretto:

    SELECT costi.id, costo, descrizione, categoria
    FROM costi
    INNER JOIN categorie
    ON idcategoria = categorie.id
    WHERE costi.id = 140

    In questo modo mi restituisce il dato che mi occorreva.
Devi accedere o registrarti per scrivere nel forum
2 risposte