PDA

View Full Version : [ACCESS] Query e campo contatore


SharPet
07-10-2009, 09:47
Stavo creando una query che mi permettesse di avere un campo contatore aggiuntivo.

La query di partenza è composta da questi campi: Id Contratto; data_installazione; nome ecc

ho bisogno di riordinare questa query in base alla data, e successivamente aggiungere un campo progressivo...

il problema è che usando funzioni tipo DCount o simili il progressivo segue l'ordine dell'id contratto anzichè la data e se invece "mi appoggio" alla data quando ho 2 date uguali genera 2 numeri progressivi uguali...

come faccio a rivolvere il problema?

MarcoGG
07-10-2009, 11:13
Forse l'uovo di Colombo potrebbe essere avere già un campo "ordineDataInstallazione". Ad ogni inserimento semplicemente si fa il Select MAX(ordineDataInstallazione) + 1...

SharPet
07-10-2009, 19:09
cioè?

SharPet
07-10-2009, 21:00
ti spiego...
ora ho una tabella così (la tabella è già popolata):
id_c |data
520 | 10gen
36 | 11gen
534 |18gen
515 |18gen

se aggiungo un campo progressivo "appoggiandomi" su id_c ho un elenco di progressivo senza duplicati (xè id_c non ammette duplicati) ma questo progressivo seque l'ordine di id_c invece deve seguire l'ordine della data

e se invece mi "appoggio" a data mi duplica l'indice progressivo

tutt'ora è così:

SELECT (Select Count(*) FROM clienti_inst_contratto as a
where a.id_contratto <= clienti_inst_contratto.id_contratto) AS Progressivo, clienti_inst_contratto.id_contratto, clienti_inst_contratto.data_intervento, *
FROM clienti_inst_contratto;

gugoXX
07-10-2009, 22:02
SELECT
(Select Count(*) FROM clienti_inst_contratto as a
where a.id_contratto <=ext .id_contratto) AS Progressivo1,
(SELECT Count(*) FROM clienti_inst_contratto as a
WHERE a.data<ext.data OR (a.data=ext.data AND
a.id_contratto<=ext.id_contratto)) as Progressivo2,
ext.*
FROM clienti_inst_contratto as ext