Newsgroup: it.comp.lang.visual-basic
Titolo: Query, si può?

Salve!
A parte gli auguri passati per Pasqua e quelli per oggi di felice 
pasquetta, volevo chiedervi anche una cosa riguardo una query.
Allora, premesso che ho delle tabelle di questo tipo (Access2000):
"Utenti", che è una anagrafica di alcune persone (nome, cognome, ecc.), 
il cui campo chiave primario USERID che li identifica in modo univoco.
Poi ho la tabella "RIMBORSI", il cui campo primario è sempre USERID e 
che fa riferimento a determinati utenti, e che contiene un elenco di 
tariffe delle persone della tabella users. Praticamente l'utente "A" ha 
diritto ad una tariffa (1.15€/ora per esempio) a partire dal 1/1/2004, 
poi dqal 15/3/2004 ha un'altra tariffa. Quindi la tab "RIMBORSI" 
contiene più riferimenti per ogni utente.
Ora, che query (JOIN) potrei fare per ottenere una tabella a cui, per 
ogni utente, ottengo il riferimento alla tariffa attualmente in uso? 
Sottolineo che non c'è una data di scadenza per le tariffe, 
semplicemente una data di inizio, che è quindi il termine della vecchia 
tariffa.
Thx in anticipo! :)
-- 
Rivolterò il mondo per trovarlo, e anche se andasse in Indocina uno dei 
nostri starà nascosto in una ciotola di riso pronto a sparargli nel culo.
(Pulp Fiction)

 Thx in anticipo! :)
prego
ciaociao

 più vicina ad oggi, quindi quella in vigore
Ehm, la più alta, non necessariamente la "più vicina a oggi"...
Lupo.Nostradamus

CUT..
Ma la tebella rimborsi ha una chiave primaria??
MIk

 più vicina ad oggi, quindi quella in vigore
Ma non voleva ottenere una cosa del tipo:
'utenteA'    1,24 ?
'utenteB'    2,38 ?
'utenteC'    1,56 ?
O mi sbaglio?
MIk

 Lupo.Nostradamus
ciaociao

[Marg = 
circa...@inwind.it
 in
c5gfil$18arb$
1...@ID-193795.news.uni-berlin.de
] ha scritto:

Non sbagli, sono io che ho letto mentre avevo un'orda di cavallette in
transito negli occhi e non avevo visto il Where. Chiedo scusa.


LOL !
Chissà che fastidio!! :-D
comunque no problem
ciaociao

Ho letto i vostri post, e mi sono accorto di aver scritto una caxxata.
Errore: la tabella RIMBORSI ha una sua chiave primaria (ID). La chiave 
UserID è una chiave (non primaria, ovviamente) che fa riferimento 
all'utente X della tabella Utenti.
Ho scritto CHIAVE PRIMARIA perchè intendevo dire (nella mia mente in cui 
vive ormai un solo neurone che è anche zoppo e pigro) che è quella che 
uso come chiave, dato che ID è solo un identificativo del record in 
questione e che non mi serve nelle query. Comunque ricapitolando:
Tabella Tariffe:
   Chiave primaria (ID)
   Chiave per le query: USERID (che fa riferimento alla chiave primaria 
USERID di UTENTI).


 primaria USERID di UTENTI).
ok, avevo intuito che fosse solo un errore sul post.... ;-)
allora usa la query che ho postato, dovrebbe fare al caso tuo
ciaociao

 'utenteC'    1,56 ?
Si in effetti voglio che per ogni utente presente nella tabella Utenti 
mi venga aggiunta anche l'informazione Tariffa presa dalla tabella 
appropriata, che sia però quella attualmente in vigore.
Infatti nel software che sto sviluppando, all'occorrenza mi vado a fare 
una query per vedere quali sono tutte le persone che in quel determinato 
giorno risultino "presenti" e da lì richiamo una mia function che mi 
restituisce (utente per utente) la tariffa in uso in quel giorno.
Ma quando si tratta di iterare lunghi periodi, questo metodo risulta 
lento... e allora vorrei fare tutto a botta di query...


> Ma la tebella rimborsi ha una chiave primaria??
Certo, ha una sua chiave primaria che utilizzo per altri scopi.
