[Access] Merge di 2 query

giovedì 01 novembre 2007 - 11.03

Teech Profilo | Expert

Ho 2 DB in SQL che non posso "toccare" in quanto non gestiti da me. Sono 2 DB identici che gestiscono semplicemente 2 aziende diverse con lo stesso programma.
Devo elaborare ed unire i dati dei 2 DB per fare delle statistiche "unificate" secondo delle richieste ben specifuche.
Per semplicità ho deciso di linkare le tabelle che mi servono dei 2 DB in access e fare delle query che poi ancrò a leggere attraverso un linguaggio procedurale (proprietario di un gestionale).

Premesso ciò sono arrivato a buon punto, creando le query che mi restituiscono i dati come desidero per ogni singola azienda. Ora devo unire questi dati e stò cercando di creare una query che mi unisca i risultati di 2 query identiche, ma non ci riesco...

In SQL scriverei una cosa come:

SELECT Campo1 as C1, Campo2, as C2, Campo3 as C3 FROM MiaVista1
SELECT Campo1 as C1, Campo2, as C2, Campo3 as C3 FROM MiaVista2

Ma in Access non funziona...

E' possibile farlo o devo fare una tabella temporanea popolndola con 2 INSERT INTO ... SELECT ... attraverso il linguaggio procedurale che ho a disposizione? Preferirei demandare il più possibile ad DB...

Grazie...

Ciao!!!!

--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

alx_81 Profilo | Guru

Ciao
>Ho 2 DB in SQL che non posso "toccare" in quanto non gestiti
>da me. Sono 2 DB identici che gestiscono semplicemente 2 aziende
>diverse con lo stesso programma.
>Devo elaborare ed unire i dati dei 2 DB per fare delle statistiche
>"unificate" secondo delle richieste ben specifuche.
>Per semplicità ho deciso di linkare le tabelle che mi servono
>dei 2 DB in access e fare delle query che poi ancrò a leggere
>attraverso un linguaggio procedurale (proprietario di un gestionale).
>
>Premesso ciò sono arrivato a buon punto, creando le query che
>mi restituiscono i dati come desidero per ogni singola azienda.
>Ora devo unire questi dati e stò cercando di creare una query
>che mi unisca i risultati di 2 query identiche, ma non ci riesco...
>In SQL scriverei una cosa come:
>
>SELECT Campo1 as C1, Campo2, as C2, Campo3 as C3 FROM MiaVista1
>SELECT Campo1 as C1, Campo2, as C2, Campo3 as C3 FROM MiaVista2
Con queste due istruzioni ottieni due resultset distinti.. tu devi unirli..
Utilizza l'operatore UNION [ALL]
SELECT Campo1 as C1, Campo2, as C2, Campo3 as C3 FROM MiaVista1 UNION ALL SELECT Campo1 as C1, Campo2, as C2, Campo3 as C3 FROM MiaVista2

Ho aggiunto il predicato ALL perchè considera tutti i record, duplicati compresi. Il fatto che le due viste arrivino da due db differenti mi spinge ad ometterlo per evitare di scartare record che mi servono anche se duplicati. Omettendo ALL la union fa anche la distinct dei record, quindi elimina i record n-uplicati.

>Grazie...
Di nulla!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

Teech Profilo | Expert

Devo dire che mi sono perso in un bicchier d'acqua

Veramente mille grazie della risposta risolutiva ed esaustiva...

Ciao!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

alx_81 Profilo | Guru

>Veramente mille grazie della risposta risolutiva ed esaustiva...
figurati a volte ci si complica la vita e le soluzioni sono più semplici e vicine di quanto si possa immaginare..
Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5