Ciao a tutti,

cercherò di spiegare bene cosa vorrei ottenere.

Ho due tabelle in Oracle, A e B, con la stessa struttura (nome campi); ad esempio:

A[ID, campo1, campo2, campo3]
B[ID, campo1, campo2, campo3]

Per la tabella A supponiamo di avere i seguenti record (ometto la primary key per semplicità):
ID campo1 campo2 campo3
1 20 1 ..
1 21 1 .
1 12 1 ...
1 23 1 ...
1 25 1 ...
1 23 1 ...
1 18 1 ...
1 21 1 ...
1 21 1 ...


e supponiamo di avere il tutto ripetuto per altri ID.
Vorrei ottenere qualcosa del tipo
ID output
1 3
2 ...


dove output conteggia le volte per cui 'campo1' è stato maggiore di 20 per almeno 2 volte consecutive (nell'esempio avrei [20,21] poi [23,25,23] poi [21,21])

L'idea è di avere una funzione tale che possa scrivere una query del tipo

SELECT ID, myFun('campo1', '20') FROM A WHERE campo2=1

oppure

SELECT ID,myFun('campo1', '20') FROM B WHERE campo2=1

così da ottenere un result set a 2 colonne [ID, OUTPUT] da leggere by-code.

Spero di essere stato sufficientemente chiaro.

Grazie in anticipo.