Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213

    valore già presente mysql

    Ciao a tutti volevo chiedere quale istruzione posso usare per vedere se un valore è già presente in un determinato range. between da quanto ho capito posso usare solo numeri, testo o date. specifico meglio:

    LIV_MIN LIV_MAX PB1


    dal php ho $liv_min e $liv_max. prima di fare la insert devo controllare che $liv_min e $liv_max non siano già contenuti in alcun range di LIV_MIN e LIV_MAX. esiste un modo per farlo con un' unica query ed utlizzando magari una funzione di mysql che al momento non conosco?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: valore già presente mysql

    Originariamente inviato da terso88
    Ciao a tutti volevo chiedere quale istruzione posso usare per vedere se un valore è già presente in un determinato range. between da quanto ho capito posso usare solo numeri, testo o date. specifico meglio:

    LIV_MIN LIV_MAX PB1


    dal php ho $liv_min e $liv_max. prima di fare la insert devo controllare che $liv_min e $liv_max non siano già contenuti in alcun range di LIV_MIN e LIV_MAX. esiste un modo per farlo con un' unica query ed utlizzando magari una funzione di mysql che al momento non conosco?

    Grazie
    Se ho ben capito

    codice:
    select count(*) from tabella
    where liv_min between LIV_MIN and LIV_MAX
    and liv_max between LIV_MIN and LIV_MAX
    Con la count che ti deve ritornare zero e in tal caso puoi fare la insert, diversamente no.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213
    esattamente, ma da quello che ho capito in between posso mettere solo testo, numeri e date. o forse sbaglio io a pensare?

  4. #4
    Originariamente inviato da terso88
    esattamente, ma da quello che ho capito in between posso mettere solo testo, numeri e date. o forse sbaglio io a pensare?
    non credo ci sia molto di piu' di testo, numeri e date da mettere in un db.

    Livello minimo e massimo suggeriscono si tratti di un valore numerico, cosa che non dici pero'

    Cosa c'e' dentro quei campi?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213
    valori numerici. sicuramente non ho capito io, quindi ti chiedo:

    LIV_MIN LIV_MAX PB
    1 5 3


    se io $liv_min=3 e $liv_max=4

    è giusto fare

    select *
    from table
    where LIV_MIN
    BETWENN $liv_min and $liv_max


    ????

    poi come faccio eventulamente per includere anche LIV_MAX nella query??

    scusate ma mi sono perso in un bicchiere d'acqua

  6. #6
    vedi la risposta di Joe Taras

    codice:
    select count(*) from tabella
    where liv_min between $liv_min and $liv_max
    and liv_max between $liv_min and $liv_max
    Devi confrontare il contenuto del campo con i dati da te forniti alla query.
    il primo between seleziona i campi validi per il tuo valore minimo ed e' in AND con il between che seleziona il valore massimo. Cioe' con la AND entrambi i valori devono rendere TRUE per selezionare il record. Ovviamente potresti aggiungere una ulteriore condizione sul campo PB

    potrebbe anche essere piu' rapido fare:
    codice:
    where liv_min >= $liv_min
    AND liv_max <= $liv_max

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.