Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [Mysql] Query per recuperare dati da più tabelle

    Salve a tutti,
    premetto che non sono molto pratico di Database, ma ho la necessità di risolvere questo intoppo.

    Io ho la seguente struttura nel db:

    tabella utenti ( id, nome, cognome, email ecc... )
    tabella prodotto ( id, nome, codice, tipologia )
    tabella magazzino ( id, idUser, idProdotto, quantità )

    la tabella "magazzino" mi serve per fare creare all'utente una lista di oggetti che saranno visibili in una specie di vetrina:

    io devo creare una query che mi selezioni il nome del prodotto e la quantità per un determinato utente...

    potreste aiutarmi?
    Hutton

    "Una tela bianca, offre infinite possibilità."

  2. #2
    Mi è stata consigliata una query del genere... ma non mi riporta alcuni dati:

    SELECT prodotto.nome, prodotto.codice, quantita FROM magazzino
    LEFT JOIN prodotto ON (id_prodotto = prodotto.id) where id_user = "1"

    perchè prodotto.nome e prodotto.codice sono nella tabella prodotto e non in magazzino.
    Hutton

    "Una tela bianca, offre infinite possibilità."

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    E' corretto, la LEFT join funziona in quel modo...

    Quello che ti serve è un altro tipo di join. Questo potrebbe esserti d'aiuto:

    http://www.codinghorror.com/blog/200...sql-joins.html
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    la query così sembra funzionare..

    'SELECT prodotto.nome, prodotto.codice, quantita FROM prodotto INNER JOIN magazzino WHERE id_user = "1"'

    ma va bene ?
    Hutton

    "Una tela bianca, offre infinite possibilità."

  5. #5
    No, non va bene...
    mi restituisce una lista di TUTTI i prodotti della tabella e in più ci aggiunge la quantità..
    Hutton

    "Una tela bianca, offre infinite possibilità."

  6. #6
    codice:
    SELECT p.nome,m.quantita
    FROM Prodotto p INNER JOIN Magazzino m on p.id = m.idProdotto
    WHERE m.idUser = '1'
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    Mhm.. così non mi visualizza alcun dato..
    Hutton

    "Una tela bianca, offre infinite possibilità."

  8. #8
    Originariamente inviato da hutton
    Mhm.. così non mi visualizza alcun dato..
    ricontrolla se ho scritto bene il nome dei campi... gia vedo che quantita tu lo hai con la a accentata...
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  9. #9
    e anche nel where usi i doppi apici :

    "1" io ho usato il singolo apice.. di solito in mysql e' singolo apice... ma prova con il doppio apice.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    I campi li avevo già corretti ... ma non mi visualizza nessun array della query.

    io uso questa funzione:

    function viewListProduct($query)
    {
    $listRow = "";
    $result = mysql_query($query) or die(mysql_error());
    $product = mysql_fetch_array($result);
    print_r($product);
    }
    Hutton

    "Una tela bianca, offre infinite possibilità."

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.