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

    creazione query sql con join

    ciao a tutti posso chiedervi una mano?

    dovrei creare una query fra 2 tabelle, x fare una cosa un po efficiente vorrei utilizzare le join (purtroppo le sql annidate non le supporta mysql < 4.1) ...cmq la situazione è questa:

    tabella prodotti

    - id
    - codice_prodotto
    - categoria
    - descrizione
    - prezzo
    - iva

    tabella inventario

    - id
    - data
    - id_prodotto
    - prezzo_vendita
    - prezzo_acquisto
    - iva


    la query che vorrei fare dovrebbe elencarmi tutti i record della tabella inventario che hanno id_prodotto corrispondente ad una certa categoria nella tabella prodotti



    in sostanza pensavo una cosa di questo tipo:

    Codice PHP:
    $query="select distinct categoria from prodotti"
    $res=mysql_query($query);

    while(
    $rs=mysql_fetch_array($res)){

    echo 
    $rs["categoria"];
    echo 
    " totali = ";

    /*
    query che calcola i totali dei record in inventari che hanno categoria = a quella corrente
    */


    boh...troppo incasinata? grazie
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Utente di HTML.it L'avatar di _kime_
    Registrato dal
    Sep 2003
    Messaggi
    311
    SELECT * FROM inventario LEFT JOIN prodotti ON inventario.id_prodotto=prodotti.categoria;

    prova questa noon sono sicuro l'ho scritta velocemente
    + / Powered by Ubuntu 4.10 "The Warty Warthog"

    + / Manuale PHP.net

    + / Think Free

  3. #3
    da quello che ho letto mi sembra che id_prodotto e categoria siano diversi e non di collegamento

    se così fosse prova anche quest'altra
    codice:
    SELECT prodotti.codice_prodotto 
    FROM inventario 
    LEFT JOIN prodotti ON (prodotti.id=inventario.id_prodotto) 
    GROUP BY inventario.id_prodotto
    se poi vuoi quello della singola categoria prova ad aggiungere il where
    codice:
    WHERE prodotti.categoria='selezione'
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  4. #4
    la query che vorrei fare dovrebbe elencarmi tutti i record della tabella inventario che hanno id_prodotto corrispondente ad una certa categoria nella tabella prodotti
    Per fare questo non è necessario il join ma basta un semplice where

  5. #5
    Originariamente inviato da Patatino
    Per fare questo non è necessario il join ma basta un semplice where
    Concordo

    codice:
    $query = "SELECT * FROM prodotti WHERE id_prodotto = " . $rs['categoria'];

  6. #6
    no, perchè la select deve essere fatta sulla tabella inventario! e non su quella prodotti!

    cmq ora provo quello che mi avete suggerito e vi faccio sapere! grazie nik
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  7. #7
    select * from prodotti, inventario where inventario.id_prodotto=prodotti.it

  8. #8
    codice:
    SELECT prodotti. *
    FROM inventari
    LEFT JOIN prodotti ON ( prodotti.id = inventari.prodotto )
    WHERE prodotti.categoria = 'giocattoli'
    GROUP BY inventari.prodotto
    funziona

    codice:
    SELECT *
    FROM prodotti, inventari
    WHERE inventari.prodotto = prodotti.id AND prodotti.categoria = 'giocattoli' LIMIT 0 , 30
    funziona anche questa!


    ora scusatemi, avrei qualche domanda:

    - quale delle due è più velooce?
    - cosa significa group by?
    - cosa significa left join?

    grazie mille! nik
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  9. #9
    - quale delle due è più velooce?
    - cosa significa group by?
    - cosa significa left join?
    up
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  10. #10
    last up...
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.