| salvo340 2004-11-10, 3:56 pm |
| Sto facendo un progetto di gestione turni di lavoro in access
ma c'e' un problema che mi blocca:
Ho questa query, chiamata OperatoriT:
nome data turno
Davide 01/10/04 P
Davide 02/10/04 M
Davide 04/10/04 S
Filippo 03/10/04 N
Andrea 02/10/04 M
(Ovviamente P=pomeriggio, M=mattina, N=notte, S=sera)
dopo aver scelto (filtrato) un certo mese e anno
vorrei visualizzarla (e possibilmente modificarla) in questo modo:
OperatoriGiorni
NomeOperatore giorno1 giorno2 giorno3 giorno4 ..
Davide P M (Null) S
Filippo (Null) (Null) N (Null)
Andrea (Null) M (Null) (Null)
Ho provato con varie soluzioni, ma nessuna riesce a farmi questo
lavoro, una strada che ho provato è questa:
Con DatePart("d",[OperatoriT.Data]) mi posso filtrare il giorno(d) il
mese(m) e l'anno(y)
Poi ho pensato a questa select:
SELECT OperatoriT.Nome, OperatoriT.Turno AS g1
FROM OperatoriT
WHERE (((DatePart("d",[Data]))=1));
Nome g1
Teodoro M
Alberto P
Alfredo M
Ripeto questa select per i 31 giorni per cui avro'
GIORNO1
Nome g1
Teodoro M
Alberto P
Alfredo M
GIORNO2
Nome g2
Teodoro M
Alberto (Null)
Alfredo M
..
..
Il problema nasce quando devo collegare GIORNO1, GIORNO2, GIORNO3, ecc. ,
chiaramente una join,
ma in access non esiste l'outer join, occorre collegare il left join al
right join
e li' ho provato ma a quanto pare non so farlo, quindi, ammesso che questo
approccio sia giusto,
come si fa ad ottenere in access l'equivalente dell'outer join per collegare
più di due query?
|