MS Access 2003 - Unire ultimo record di più tabelle in una query o la tabella?
-
23-09-2019 - |
Domanda
Ho un paio di tabelle che sono le tabelle di transazione, e mi piacerebbe fare un grafico pivot semplice per saldi comparativi .... che capita di essere l'ultimo record di ciascuna di queste tabelle in un campo chiamato "equilibrio" .
quindi so come popolare questo su un modulo utilizzando un'istruzione SQL, rs.MoveLast, ma non so come raggiungere il grafico pivot senza avere questo in una tabella ....
grazie!
EDIT:
Questo è quello che ho usato! Grazie Remou!
(SELECT TOP 1 TransactionID, Balance
FROM tblTrans001
ORDER BY TransctionID DESC)
UNION
(SELECT TOP 1 TransactionID, Balance
FROM tblTransaction02
ORDER BY TransactionID DESC)
UNION
(SELECT TOP 1 TransactionID, Balance
FROM Tranaction03
ORDER BY TransID DESC)
Ora ho solo bisogno di trovare un modo per inserire una stringa di testo nei campi corrispondenti che identifica quale tabella il valore proviene.
Ad esempio, i rendimenti di query di cui sopra
TransID Balance
123 $1000.00
234 $20000.00
345 $300000.00
e ho bisogno di:
TransID Balance Table/Account
123 $1000.00 tblTransaction01
234 $20000.00 tblTransaction02
345 $300000.00 tblTransaction03
grazie!
Soluzione
Cosa si fa a definire ultimo disco? Diciamo che è la data di creazione e che la data di creazione è unica, allora si potrebbe utilizzare lo SQL di seguito. Si noti che le parentesi sono importanti.
(SELECT TOP 1 CrDate , Balance , "TranA" As FromTable
FROM TransactionsA
ORDER BY CrDate DESC)
UNION
(SELECT TOP 1 CrDate , Balance , "TranB" As FromTable
FROM TransactionsB
ORDER BY CrDate DESC)