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

    Interrogazione Tabelle MySQL

    Salve a tutti e chiedo scusa se esiste un'altro topic uguale già aperto.

    Sono completamente nuovo qui ed anche con MySQL e quindi non ho grandi dimestichezze con il database. Avrei bisogno dell'aiuto di qualcuno.

    Ho una tabella "lotti" formata in questo senso: (idLotto - tipoLotto - Cliente - valore)
    sono pochi i lotti ma ci sono molti clienti che hanno acquistato stessi lotti ma con prezzi (valore) differenti. La domanda per il quale ho bisogno del SELECT è: come faccio per sapere quale cliente ha comprato il lotto 200 con il prezzo UNICO E MINORE?
    Ci possono essere vari clienti che abbiano comprato lo stesso lotto allo stesso prezzo minore ma io voglio sapere l'unico e cioé: se dieci clienti hanno comprato per 10 euro e soltanto uno ha comprato per 10,20 euro... é questo l'unico minore che io voglio sapere. In pratica voglio sapere l'unico con prezzo minore o l'unico che più si avvicina al prezzo minore. Ma deve essere l'unico.
    Spero di essere stato abbastanza chiaro... è difficile anche per me che scrivo capire ciò che voglio.
    Spero che in questo Forum ci sia la persona illuminata da Dio per aiutarmi.
    Grazie tante,

    Sergio

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select * from lotti
    where idlotto = 200
    group by valore
    having count(valore) = 1
    order by valore limit 1

  3. #3
    Grazie tante Nicola, mi sei stato di grande aiuto.
    Scusami se ne approfitto ma sto mettendo sul backoffice del sito clienti delle offerte e per questo mi serviva il SELECT. Mi fa vedere effettivamente il minore e unico e adesso per farmi vedere sempre l'unico ma che si avvicina al minore come faccio?
    Un abbraccio,

    Sergio

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da sergiocasto
    e adesso per farmi vedere sempre l'unico ma che si avvicina al minore come faccio?
    Scusami ma non ho capito.

  5. #5
    Ti spiego subito cosa sto facendo.
    In pratica sto mettendo questo tipo di gara per aggiudicarsi il miglior prezzo ed il premio finale per fine d'anno. È un mia idea che penso ottima e che tutte le aziende dovrebbero fare per incentivere i compratori , aumentare le vendite e offrire risparmio.
    Detto questo, hai presente il sistema delle aste online? Bene! Da lì mi è venuata l'idea.
    Voglio inserire nella parte del cliente un servizio che mostri (sotto forma di un bottone verde, giallo e rosso... vedremo!) che quando aumentano l'acquisto dei lotti diminuisce il valore del prezzo e quindi l'unico minore è verde. In parità mostra rosso, unico che si avvicina al minore giallo. L'unico minore per la fine dell'anno vincerá il premio consistente che stabiliremo.

    Ricapitolando: serve il SELECT l'unico minore (che mi hai mandato); l'unico che si avvicina al minore; e quelli che sono in paritá (cioé compra di quantitá uguale di lotti e quindi anche il prezzo)

    Spero di non farti perdere la pazienza e la testa... starei molto male!

    Grazie ancora

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    La pazienza non la perdo, figurati. Se posso ti aiuto volentieri.
    Piuttosto non ho la minima idea di come funzionino le aste online.

    Se puoi fare un esempio numerico con alcuni record che mi mostri cosa sono l'unico che si avvicina al minore e quelli che sono in paritá forse riesco ad aiutarti.

  7. #7
    Ho fatto una immagine sperando che sia intuibile.
    Voglio infortarti che ho 53 anni, non so niente di computer e sono autodidatta... Le nuove esperienze tecnologiche mi affascinano. Detto ció: ho visto che posso selezionare l'unico minore e l'unico poco più alto del minore con il select che mi hai inviato cambiando nel finale LIMIT 2

    SELECT Cliente, valore
    FROM lotti
    WHERE tipoLotto =1002
    GROUP BY valore
    HAVING COUNT( valore ) = 1
    ORDER BY valore
    LIMIT 2

    Risultato: Clienti: 1025 - 1040 / Valore: 16 euro - 17,50 euro (quello verde e quello giallo)

    SELECT Cliente, valore
    FROM lotti
    WHERE tipoLotto =1002
    GROUP BY valore
    HAVING COUNT( valore ) = 1
    ORDER BY valore

    In questo modo mi fa vedere gli altri in rosso.

    Adesso per far apparire il tutto nella pagina del cliente e riferito al lotto, sicuramente devo usare il codice PHP con IF e ELSEe qui ti mando l'esempio:

    <?php
    $p = $_SESSION["codiceCliente"];

    $q = mysql_query("select Cliente from lotti where tipoLotto = 1002 group by valore having count(valore) = 1 order by valore limit 2 ");

    $lh = mysql_fetch_array($q);

    $codiceCliente = $lh["codiceCliente"];
    $codiceCliente2 = $lh["codiCliente2 "];



    if ($codiceCliente){
    echo "<span style=\"background-color: green\">
    <font size=\"3\" face=\"verdana\" color='#ffffff'>
    Ativo
    </font></span>";
    }
    elseif ($codiceCliente2){
    echo "<span style=\"background-color: red\">
    <font size=\"3\" face=\"verdana\" color='#ffffff'>
    Inativo
    </font></span>";
    }
    ?>

    In questa ultima parte mi sto perdendo

    Ti è tutto chiaro adesso?
    Immagini allegate Immagini allegate

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 © 2026 vBulletin Solutions, Inc. All rights reserved.