Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258

    Calcolo record testo/numero più grande

    Ho una tabella con un campo contenente i seguenti records:
    10AA001
    10AA002
    10AA003
    10AA004
    18AA005
    85AA006

    devo incrementare quello che sta a destra di AA: 001,002 etc.. (quello che sta a sinistra di AA è ininfluente per questa cosa).

    in pratica il prossimo record dovrà essere:

    22AA007

    avevo pensato di estrarre tramite select il numero più alto:

    SELECT CAMPO FROM TABELLA ORDER by CAMPO ASC

    ma dovrei prendere solo la parte a destra di AA già nella select;

    qualche consiglio?

  2. #2
    che db usi? (indicalo sempre, alcune istruzioni cambiano)

  3. #3
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Access

  4. #4
    S E L E C T TOP 1 CAMPO, MID(CAMPO, INSTR(CAMPO, 'AA')+2) AS VALORE
    F R O M TABELLA
    O R D E R B Y MID(CAMPO, INSTR(CAMPO, 'AA')+2) DESC

    prova e vedi se valore è ok, l'unica cosa di cui non sono sicuro è quel +2 (che potrebbe essere +1 o +3, dipende da come Access conta le posizioni nelle stringhe)

  5. #5
    guarda che me tocca fa' per faje diGGerì un comando sql a 'sto forum

  6. #6
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Mi restituisce: Tipi di dati non corrispondenti nell'espressione criterio.

    Invece non da errore se elimino order by (
    S E L E C T TOP 1 CAMPO, MID(CAMPO, INSTR(CAMPO, 'AA')+2) AS VALORE
    F R O M TABELLA) ma ovviamente in questo modo non fa quello quello che vorrei.

  7. #7
    nella order by non devi ripetere la select

  8. #8
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    si, lo so; errore mio di comunicazione, riformulo:

    se provo:

    S E L E C T TOP 1 CAMPO, MID(CAMPO, INSTR(CAMPO, 'AA')+2) AS VALORE
    F R O M TABELLA
    O R D E R B Y MID(CAMPO, INSTR(CAMPO, 'AA')+2) DESC

    mi restituisce Tipi di dati non corrispondenti nell'espressione criterio

    se invece provo:

    S E L E C T TOP 1 CAMPO, MID(CAMPO, INSTR(CAMPO, 'AA')+2) AS VALORE F R O M TABELLA

    funziona ma non fa quello che vorrei


  9. #9
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    ok, funziona, erano dei campi vuoti che facevano partire l'errore.

    Per curiosità: si può fare una sorta di If campo <>"" then select .... per non far si che becchi campi vuoti?

  10. #10
    ... where campo<>''

    se i campi sono vuoti, se invece sono null

    ... where not (campo is null)

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.