Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: select e array

  1. #1

    select e array


    Domandone...

    ho 1 tabella con un campo codici tipo:

    20.01.00
    25.01.02
    25.05
    20.88

    ...dovrei pescare tutti i record che contengono il codice che inizia per 20, per cui:

    20.88
    20.01.00

    come fare ?

    detto questo ...entro nel dettaglio della mia domanda:

    i codici per ogni singolo record sono così formati


    20.01.00/23.05/50.02.59
    25.01.02/50.29
    25.05
    20.88/23.89.01/24.78.10/50.15

    ...partendo dalla prima domanda

    ...dovrei controllare se in ogni record la stringa di codici ne contiene 1 che inizia per un tal numero...per cui pescare il record...

    ..pescare..non necessariamente, mi basterebbe in 1 ciclo controllare la stringa di codici per ogni record e vedere se in mezzo ai codici di ogni singolo record ne trovo 1 che inizia per un dato numero ...per cui stamparlo...

    esempio

    cerco il codice che inizia con 50

    faccio 1 ciclo: e trovo
    20.01.00/23.05/50.02.59
    25.01.02/50.29
    25.05
    20.88/23.89.01/24.78.10/50.15

    per cui mi vado a stampare solo:

    20.88/23.89.01/24.78.10/50.15
    25.01.02/50.29
    20.01.00/23.05/50.02.59

    perchè contengono 1 codice che ...appunto inizia con 50

    suggerimenti?
    Tanto...lo fanno tutti... posso farlo anche io vero?

  2. #2
    Easy.
    codice:
    sql = "SELECT campo FROM tabella WHERE campo LIKE '20%' OR campo LIKE '%50%'"

  3. #3
    Originariamente inviato da Mems
    Easy.
    codice:
    sql = "SELECT campo FROM tabella WHERE campo LIKE '20%' OR campo LIKE '%50%'"
    Grazie mems per essere intervenuto

    ma...facendo come dici tu...mi pesca tutti i record che nel codice contengono il numero 20 o 50...

    a me serve individuare che questo numero sia il primo numero del codice...tipo:

    cerco i codici per 50

    esempio di codici da non pescare:
    33.20.50
    21.50
    78.50

    esempio codici da pescare
    50.10
    50.80
    50.26.35

    ----------------------------------------------

    Inoltre in ogni singolo record ho + codici per cui dovrei fare uno split per controllare il record ...esempio

    ogni singolo record ha tot codici separati da --> /

    esempio di codici da NON pescare:
    33.20.50/14.50/198.18/64.18.50
    21.50/46.50.10/48.50

    esempio codici da pescare
    50.10/21.19
    50.80/18.18.96/48.5.15

    per cui

    io la pensavo così

    - Leggo TUTTI I CODICI che presenti nei record della tabella
    - per ogni record controllo se la stringa di codici ne contiene 1 che INIZIA CON IL DATO NUMERO
    - se è true lo stampo...se false passo al succesivo..


    ---il dato numero (50 usato in esempio) è dinamico anch'esso...ovvero non è fisso ma è un dato variabile

    un modo per fare ciò?

    - Leggo TUTTI I CODICI che presenti nei record della tabella
    - per ogni record controllo se la stringa di codici ne contiene 1 che INIZIA CON IL DATO NUMERO
    - se è true lo stampo...se false passo al succesivo..
    Tanto...lo fanno tutti... posso farlo anche io vero?

  4. #4
    una cosa tipo
    codice:
    Do while not rs.eof
    if rs("codici") <> "" then
    stringa = rs("codici")
    arr = split(stringa, "/")
    
    %>
      <tr>
        <td>
    	<%=(arr(0))%>
    	</td>
      </tr>
    <%
    end if
    rs.movenext
    loop
    %>
    solo che...così facendo se ho 1 stringa composta da 3 codici...con il codice sopra estraggo solo il primo codice e non riesco a vedere il secondo o il terzo

    non posso fare

    codice:
    <%=(arr(0))%>
    <%=(arr(1))%>
    <%=(arr(2))%>
    questo perchè non è sempre vero che 1 record contiene 3 codici...potrebbero essere 2 come 4 come 5 etc...
    Tanto...lo fanno tutti... posso farlo anche io vero?

  5. #5
    La mia query pesca tutti quelli che INIZIANO per 20 oppure contengono 50 al loro interno.

  6. #6
    Originariamente inviato da Mems
    La mia query pesca tutti quelli che INIZIANO per 20 oppure contengono 50 al loro interno.
    Si scusa non avevo notato il % dopo il 20 ...ok per la select .... ma come controllo N codici per ogni record ?

    se io faccio

    SELECT campo FROM tabella WHERE campo LIKE '20%'
    mi pesca solo quelli dove IL PRIMO codice inizia per 20 ...ma io potrei avere un codice tipo

    18.20.15/20.15

    e questo dovrebbe essere pescato
    Tanto...lo fanno tutti... posso farlo anche io vero?

  7. #7
    E allora o non ho capito cosa vuoi o l'hai spiegato male.

  8. #8
    si mi sono spiegato male

    in sostanza dato questo codice
    codice:
    Do while not rs.eof
    if rs("codici") <> "" then
    stringa = rs("codici")
    arr = split(stringa, "/")
    
    %>
      <tr>
        <td>
    	<%=(arr(0))%>
    	</td>
      </tr>
    <%
    end if
    rs.movenext
    loop
    %>
    io dovrei sapere quanti array mi trova per ogni ciclo e controllare per ogni array trovato a ciclo...se contiene un dato numero
    Tanto...lo fanno tutti... posso farlo anche io vero?

  9. #9
    fai un ciclo dentro arr che, credo puoi splittare per .

  10. #10
    Originariamente inviato da Mems
    fai un ciclo dentro arr che, credo puoi splittare per .
    how ?
    Tanto...lo fanno tutti... posso farlo anche io vero?

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.