Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    7

    [MySql] effettuare una ricerca fino a una certa condizione

    Salve a tutti, sono principiante e ho qualche difficoltà a formulare una query.

    con questa estraggo tutti i record a partire dalla data indicata

    codice:
    SELECT * FROM records WHERE (Data > "2015-04-21 15:39:05")
    con quest'altra cerco il primo record a partire dalla data indicata, che contiene il campo MS="S"

    codice:
    SELECT * FROM records WHERE (Data > "2015-04-21 15:39:05" AND MS = "S") LIMIT 1
    Quello che mi serve è combinare le due query, ovvero estrarre tutti i record a partire dalla data indicata, fermandomi quando viene trovato il record contiene MS = "S"
    Mi potete aiutare ?

  2. #2
    cosa intendi con "fermandomi"?

  3. #3
    Secondo me non devi combinare le due query ma ciclare sulla prima fino a che trovi il campo MS="S"

    codice:
    SELECT * FROM records WHERE (Data > "2015-04-01 15:39:05")
    
    Ciclo Lettura
      se campo MS="S" Esci
    
    
    Fine Ciclo

    Sempre che abbia inteso correttamente il problema...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    7
    ciao a tutti e due, si Vitren, hai inteso bene
    Ma la sintassi esatta sarebbe ?

  5. #5
    la query l'hai già scritta

    $sql = "SELECT * FROM records WHERE Data > '2015-04-01 15:39:05'";

    lettura e ciclo
    codice:
        $dati = mysql_query($sql);
        $numero_righe = mysql_num_rows($dati);
        if ($numero_righe<>0)   // potrebbero non esserci record
            {
             for ($i=1; $i<=$numero_righe; $i++)
                {
                 $array = mysql_fetch_array($dati);
                 $ms = $array["MS"];
                 $tuo_campo1 = $array["tuo_campo1"];
                 $tuo_campo2 = $array["tuo_campo2"];
                 ''
                 ''
                 if ($ms<>"S")
                     {// operazione}
                 else
                     {$i=$numero_righe} // forza l'uscita
                }
            }
    l'ho scritta senza verificare, controlla tu...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    7
    purtroppo mi mancano le basi e so che non dovrei bussare qui prima di averle un po' apprese da me ....
    Se in PhpMyAdmin, nella finestra delle query SQL provo quanto sopra mi da errore subito sulla prima riga

    codice:
    $sql = "SELECT * FROM records WHERE Data > '2015-04-01 15:39:05'";

  7. #7
    Ciao

    scusa... non avevo capito il livello.

    L'esempio che ti ho postato è uno script PHP che dovrebbe risolvere il tuo problema, PhpMyAdmin è uno strumento di interrogazione di MySql.

    In PhpMyAdmin hai la possibilità di eseguire query ma una alla volta mentre un programma PHP è più elastico e consente più operazioni.

    L'esempio da sicuramente errore perchè deve essere eseguito in ambiente PHP.

    Stai per caso facendo prove sul tuo PC dopo aver installato Apache, Mysql e PhpMyAdmin?

    Se cosi fosse probabilmente hai anche PHP.

    Fammi sapere

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    7
    Non mi aspettavo anche delle scuse, troppa grazia ......
    Adesso quindi ho capito. Si, ho un server Apache con PHP operativo, ma questa richiesta al database viene fatta da un applicativo Java (Remote Desktop Connector) che può solo passare una query, non ho possibiltà di inserire codice PHP.
    Quindi se una singola query non può essere combinata come serve a me (mi sembrava di avere letto che c'era possibilità di annidare le query) potrei fare in due passaggi. Con il primo richiedo tutti i record a partire da una certa data che contengono campo MS="S" limitando il risultato a 1. Vedo la data di quel record e con il secondo passaggio richiedo tutti i record da data a data.
    Speravo di riuscire in un colpo solo.
    Grazie del supporto.

  9. #9
    Quote Originariamente inviata da Marcick Visualizza il messaggio
    ...mi sembrava di avere letto che c'era possibilità di annidare le query
    è vero che si possono annidare le query, per quel poco che ne so la seconda query (quella nidificata) elabora i risultati forniti dalla prima.

    Avevo un problema di raggruppamento dove mi hanno suggerito quel tipo di soluzione

    http://forum.html.it/forum/showthread.php?threadid=2922551&postid=25291631#po st25291631




  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    7
    ecco, ecco .... quindi si può. Ragiono sulla sintassi, ce la farò, grazie ancora

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.