Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591

    select ultimo prodotto di diverse categorie

    Salve,
    è un po' che non scrivo..
    dovrei fare una select, come da titolo, ma non riesco a uscirne.
    Dovrei selezionare l'ultimo prodotto di una categoria + l'ultimo prodotto di un'altra categoria + l'ultimo prodotto di un'ultima categoria, presi dalla stessa tabella.
    Quindi potrei fare 3 select con UNION, ma vorrei farlo con una query singola (LO SO CHE LA UNION è UNA QUERY SINGOLA, ma vorrei fosse *semplificata*..).
    select * from prodotti where cat1 = '$cat1' or cat2 = '$cat2' OR cat3 = '$cat3' LIMIT 3
    ovviamente funziona male perchè se ci sono 2 id della stessa categoria mi salta una categoria..

    Grazie a chiunque mi darà una mano

    AUTOEDIT: uso mysql...

  2. #2
    1) su quale db? ok mysql
    2) cosa intendi per "ultimo" prodotto di una categoria?

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ultimo inserito..

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    up.. credevo fosse più facile..

  5. #5
    Originariamente inviato da telegio
    up.. credevo fosse più facile..
    e già up....
    ma se uno ti chiede cosa intendi per ultimo, e tu rispondi "ultimo inserito" è un po' difficile aiutarti...

    da cosa capisci che è l'ultimo??... dall'id più alto??, da una data di inserrimento??, ecc...

    insomma spiega un po' come è fatta la tua tabella
    e magari fai anche un esempio di quello che vorresti ottenere perché io non l'ho ancora ben capito

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    intanto grazie..
    perdonami, senza polemica.. l'ultimo inserito di solito ha l'id più alto in una tabella con autoincrement.. o anche il timestamp.. è lo stesso..
    mi sa che mi ero capito solo da solo..
    diciamo che avendo questi valori

    id - cat - prodotto
    1 - 1 - prodotto 1
    2 - 3 - prodotto 2
    3 - 2 - prodotto 3
    4 - 2 - prodotto 4
    5 - 3 - prodotto 5
    6 - 1 - prodotto 6
    7 - 1 - prodotto 7
    8 - 1 - prodotto 8
    9 - 1 - prodotto 9

    deve estrarre gli id
    4 5 9 perchè deve estrarne uno per categoria con l'id più recente, cioè gli ultimi inseriti..
    credevo fosse chiaro, e invece mi sa di no..

  7. #7
    Originariamente inviato da telegio
    intanto grazie..
    perdonami, senza polemica.. l'ultimo inserito di solito ha l'id più alto in una tabella con autoincrement.. o anche il timestamp.. è lo stesso..
    ecco... sul fatto che sia lo stesso non ne sarei proprio sicuro!!


    Oh ora si capisce!!!!!

    ecco qui...senza union:
    codice:
    SELECT * FROM prodotti 
    where id = (select max(id) from prodotti where cat=1)
    or id = (select max(id) from prodotti where cat=2)
    or id = (select max(id) from prodotti where cat=3)

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ooooottimo.. madonna sto arrugginito in SQL..


    è lo stesso intendevo che fare la query rispetto al timestamp è la stessa cosa.. anzi probabilmente è pure più corretto.. almeno nel mio caso..

    grazie comunque e alla prossima..

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.