Salve a tutti,
ho realizzato una query di selezione con la quale devo verificare se è vera una determinata condizione, cioè una sequenza di dati , scrivere "OK" quando la condizione si verifica.
L'ho fatto scrivendo una funzione IIf nidificata e utilizzando una LEFT JOIN sulla "stessa" tabella in modo da far verificare i valori di una certa sequenza di record. Funziona tutto alla perfezione con il solo problema che non posso inserire nella query più di un tot di condizioni IIf, con il risultato che per ottenere quello che mi serve ho dovuto realizzare una quantità infinita di query.
L'aiuto che vi chiedo è se esiste un altro modo per ottenere quello che mi serve o se esiste un modo per aumentare la quantità di nidificazioni della funzione IIf.
Vi allego l'sql di una tabella che ho fatto.
Grazie Leonardo
SELECT TABELLA1LOOP.ID, TABELLA1LOOP.ORA, TABELLA1LOOP.ORASEC, TABELLA1LOOP.DATA, TABELLA1LOOP.LOOP, TABELLA1LOOP.OTL, TABELLA1LOOP.TRAM, TABELLA1LOOP_1.ORA, TABELLA1LOOP_1.ORASEC, TABELLA1LOOP_1.DATA, TABELLA1LOOP_1.LOOP, TABELLA1LOOP_1.OTL, TABELLA1LOOP_1.TRAM, IIf(TABELLA1LOOP.LOOP="01.201.7" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.001.1" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.001.1" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.001.3" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.001.3" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.003.1" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.003.1" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.003.3" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.003.3" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.004.3" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.004.3" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.102.1" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.102.1" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.102.3" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.160.1" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.160.3" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.160.3" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.103.1" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.103.1" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.103.3" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.103.3" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.103.5" And TABELLA1LOOP_1.OTL=1,"OK", IIf(TABELLA1LOOP.LOOP="01.103.5" And TABELLA1LOOP.OTL=0 And TABELLA1LOOP_1.LOOP="01.165.1" And TABELLA1LOOP_1.OTL=1,"OK", "")))))))))))) AS Risultato
FROM TABELLA1LOOP AS TABELLA1LOOP LEFT JOIN TABELLA1LOOP AS TABELLA1LOOP_1 ON TABELLA1LOOP.ID+1=TABELLA1LOOP_1.ID;