Comanda SQL necesara unei asemenea operatii e una mai speciala, pentru ca e din categoria celor care nu permit afisarea "grafica" a query-ului in fereastra MS query si pentru compunerea ei va fi necesara folosirea unui editor de texte suplimentar (Notepad e OK), daca nu vrem s-o scriem direct de mana.
Exemplul pe care il voi descrie mai departe e pentru versiunea 2007, dar banuiesc ca ar functiona si in versiunile anterioare cu adaptarile de rigoare.
Presupunem ca avem 3 fisiere, plasate in acelasi folder, denumite Book1.xlsx, Book2.xlsx, Book3.xlsx, iar intr-un al patrulea fisier dorim sa unim datele din aceste fisiere. In cele 3 fisiere avem cate un tabel identic in Sheet1, dar datele din tabelele respective difera. Structura acestor tabele in acest exemplu e "Column 1", "Column 2", "Column 3".
In al patrulea fisier, vom incepe prin a defini o conexiune bazata pe MS Query (Data -> Get External Data -> From Other Sources -> From Microsoft Query) Dupa ce se debifeaza optiunea "Use the Query Wizard..." se selecteaza prima pozitie din lista (<New Data Source>) -> OK.
In dialogul urmator se definesc caracteristicile conexiunii: - se tasteaza un nume pentru conexiunea respectiva;
- se alege driver-ul corespunzator din lista - driver-ul care sa poata accesa fisiere .xlsx;
- se apasa butonul Connect... si in dialogul care urmeaza, dupa ce ne-am asigurat ca la Version e selectat "Excel 12.0" se alege unul dintre cele 3 fisiere (Book1.xlsx - in acest exemplu) apasand pe butonul Select Workbook... Dupa 3 OK-uri ajungem inapoi in fereastra "Choose Data Source" cu conexiunea pe care tocmai am creat-o implicit selectata si nu avem decat de apasat inca o data butonul OK... pentru a ajunge in fereastra principala a MS Query, cu dialogul Add Tables afisat Fisierul pe care l-am indicat la crearea conexiunii (Book1.xlsx) e selectat implicit, iar tabelul care ne intereseaza e in Sheet1, asa ca se apasa butonul Add, apoi Close si ajungem in fereastra principala Microsoft Query. Urmatorul pas e sa adaugam toate coloanele din tabel in zona de date a query-ului -> dublu-click pe asteriscul din fereastra "Sheet1$". Deschidem apoi dialogul SQL (apasand pe butonul cu acelasi nume) in care se poate vedea si edita linia de comanda, selectam tot textul de acolo si-l copiem (Ctrl+C). Deschidem Notepad si punem textul copiat acolo (Ctrl+V), iar la sfarsitul secventei dam un Enter, pe randul urmator scriem UNION, urmat de inca un Enter. Adaugam din nou comanda SQL copiata si o editam, modificand apoi numele fisierului din Book1.xlsx in Book2.xlsx. Din nou Enter -> UNION -> Enter -> copiem din nou prima comanda si o editam, modificand numele fisierului in Book3.xlsx. Bineinteles ca daca tabelele de unit sunt in foi de calcul cu alte denumiri decat cea in care se afla primul tabel, se modifica si denumirile foilor de calcul oriunde apar in comanda SELECT aferenta fisierului respectiv. Alias-urile din cele 3 SELECT-uri pot ramane ca in comanda initiala daca toate tabelele din cele 3 fisiere sunt in foi cu acelasi nume - dace insa numele foilor de calcul in care se afla tabelele difera, se vor modifica si alias-urile in consecinta (de ex. se va inlocui in comanda SELECT pentru fisierul respectiv peste tot Sheet1 cu Sheet2). Selectam tot continutul din Notepad -> Copy (Ctrl+C) -> deschidem fereastra SQL in MS Query -> Selectam tot continutul -> Paste (Ctrl+V) -> OK. La apasarea butonului OK din dialogul SQL unde am pus linia completa de comanda va aparea mesajul:
SQL Query can't be represented graphically. Continue anyway?
peste care trecem cu OK.
Din fereastra principala Microsoft Quey va disparea fereastra cu tabelul selectat initial, dar in zona de date vor aparea efectele comenzii SQL care uneste datele din cele 3 tabele. Tot ce a ramas de facut e sa aducem rezultatul query-ului in fisierul .xlsx. Se inchide fereastra Microsoft Query, sau se apasa pe butonul Return Data (cel cu o imagine cu o usa si o sageata

Editarea comenzii SQL pentru adaugarea clauzelor UNION se poate face si in fereastra Connection Properties (Data -> grupul Connections -> Properties -> butonul Connection Properties -> tab-ul Definition in zona Command text:) Puteti testa fisierele din arhiva atasata daca le dezarhivati intr-un folder denumit D:\Work\Excel\Test MSQry JOIN.