Accedi per seguire   
Seguaci 0
FRA

Access 2003

2 messaggi in questa discussione

Ciao ragazzi ho un problema con access 2003 o non ho la più pallida idea di come risolverlo sempre se si può!!! Ho fatto un db con 3 tabelle: anagrafica, primoTrattamento e followup (tra anagrafica e primoTrattamento c'è una relazione 1:N e tra anagrafica e follwup una relazione 1:N).

Nella tabella anagrafica ho i seguenti records:

ID_PZ (contatore)

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

1

2

3

4

nella tabella primoTrattamento ho i seguenti records ID_TRATT coincide con ID_PZ in quanto ogni paziente ha il suo primoTrattamento):

ID_TRATT (contatore) Link_ID_PZ (chiave esterna della tabella)

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

1 1

2 2

3 3

4 4

nella tabella followup ho i seguenti records (un paziente può aver fatto più followup):

ID_FU (contatore) Link_ID_PZ (chiave esterna della tabella)

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

1 1

2 1

3 1

4 3

5 2

6 2

7 3

8 4

9 4

10 1

Vorrei ottenere come risultato:

Link_ID_PZ

(= ID_PZ) primoTrattamento followup

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

1 1 1 2 3 10

2 2 5 6

3 3 4 7

4 4 8 9

Come posso fare ad ottenere questo risultato?...praticamente visualizzare tutti i campi (o alcuni a scelta) riferiti ad ogni paziente visti così in orizzontale?

Sperando in una vostra risposta vi ringrazio anticipatamente...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Le query SQL restituiscono sempre un numero di righe indefinito (record) a fronte di un numero di colonne finito (campi). E il numero di colonne lo scegli tu.

E concettualmente, trovo che sia un errore separare i FollowUp dai primi trattamenti.

Sono tutti trattamenti, con rapporto tra i pazienti 1:N; alcuni FolloUp, altri no.

Magari puoi classificare tramite un ulteriore campo se si tratta di primo trattamento o di FollowUp. A seconda delle tue logiche di gestione, un campo di tipo binario può essere adatto.

Per la trasposizione tabellare tra paziente (riga) e trattamento (colonna) dovresti concepire una query che possa cercare un numero di volte finito se il paziente ha ricevuto trattamenti e/o followup. Nel caso non vi siano dopo l'ultimo followup altri trattamenti, ovviamente la query dovrà restituire un campo vuoto.

Mi rendo conto di non aver risposto alla tua domanda, però ti posso suggerire un'altra non risposta: un foglio excel con tabelle pivot.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0