Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [sql] istruzione multipla con max

    ciao a tutti
    so che dal titolo non si capisce molto...cercherò di spiegarmi meglio

    ho 2 tabelle in una alcuni oggetti
    - id
    - marca
    - nome
    - prezzo

    nell'altra ho gli stati degli oggetti

    - id
    - oggetto
    - data
    - stato

    vorrei fare una select che mi seleziona tutti gli oggetti di una determitata marca e con un determinato stato, fino a qui la cosa sarebbe abbastanza semplice, nel senso che basta una istruzione annidata di questo tipo (almeno credo!)

    codice:
    select * from magazzino where marca='$marca' and id in (select movimenti.oggetto from movimenti where movimenti.stato = '$stato')
    il problema è che lo stato può variare (ed è per questo che ho fatto una tabella a parte)

    in sostanza io avrei nella stessa tabella più oggetti uguali ma con stati differenti, io vorrei considerare lo stato del record che ha data massima, come faccio? è possibile ?
    "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

    prova con

    select movimenti.oggetto from movimenti where movimenti.stato = '$stato' ORDER BY movimenti.data DESC LIMIT 0,1
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  3. #3
    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

  4. #4
    ho esultato troppo presto!

    forse mi sono spiegato male:

    questa query mi mosta solamente 1 record! quello con data massima e con quello stato!

    mentre io vorrei che mi mostri tutti i record, ma quando confronta lo stato considera tra tutti gli stati di quel record quello con data massima
    "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

  5. #5
    uppete
    "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

  6. #6

    prova così

    codice:
    select movimenti.oggetto from movimenti where movimenti.stato = '$stato' AND movimenti.data in (select MAX(movimenti.data) FROM movimenti)ORDER BY movimenti.data DESC
    PS: che db usi per le subquery?
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  7. #7
    :-)

    he he adesso mi ammazzi! uso mysql 4.0qualcosa che non supporta le istruzioni SQL annidate!

    ieri ho provato a passare al 4.1 ma non c'erano santi su sto winzozz del cavolo...non riusciva a far partire il servizio...
    ho provato a disinstallare anche quello precedente ma ... nada!



    cmq ti ringrazio per la query stasera la provo in linux
    "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

  8. #8
    scusa

    è possibile farlo senza una sql annidata?

    se mi faccio io a mano 3
    Codice PHP:
    mysql_query()

    una dentro il while dell'alra....perdo molto in efficenza?mi spiego meglio:

    mysql_query(query 1)

    while(tutti i record){

    mysql_query(query 2)

    while(tutti i record){
    mysql_query(query 3)

    while(tutti i record){
     // qui dovrei avere l'
    istruzione sql definitiva
    }
    }


    ?? è una porcata?
    "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.