Komentar saya di atas hanya dimaksudkan untuk membuka beberapa kemungkinan yang mungkin Anda miliki.
PowerQuery adalah Plug-In gratis untuk Office 2013. Di Office 2016 ini adalah bagian dari Excel dan bukan lagi Plug-In.
Bagaimanapun, Anda tampaknya lebih suka pendekatan untuk menggunakan tabel temp atau variabel tabel pada SQL Anda. Oleh karena itu, saya akan menguraikan lebih lanjut tentang pendekatan ini:
Pada akhirnya Anda akan menginginkan kueri yang mirip dengan yang ini:
set nocount on;
declare @tblVAT table
(
Country nvarchar(50),
VAT decimal(9, 7)
);
insert into @tblVAT
(Country, VAT)
values (N'Germany', 0.19),
(N'Frence', 0.20),
(N'Spain', 0.21);
select tc.Name,
tc.ID,
case when tc.Country is null then tv.Country
else tc.Country
end as Country,
tv.VAT
from dbo.tblCustomers as tc
full outer join @tblVAT as tv
on tv.Country = tc.Country;
Perhatikan pentingnya set nocount on;
di awal kueri SQL di atas. Tanpa itu tidak akan berhasil!
Setelah Anda memiliki kueri ini, Anda cukup menempelkannya ke Excel menggunakan menu Data
Get External Data
From SQL Server
. Pada langkah pertama Anda akan mendapatkan tabel pelanggan dan kemudian pada langkah kedua menyaring kueri untuk memasukkan variabel tabel seperti yang dijelaskan di atas. Berikut adalah ringkasan visual singkatnya:
Saya kira, pada titik ini satu-satunya pertanyaan yang tersisa adalah:
- Bagaimana Anda membuat pernyataan SQL di atas secara dinamis dan
- bagaimana Anda mendapatkan tabel di atas di Excel kemudian diperbarui dengan pernyataan SQL yang diperbarui ini.
Untuk membuat SQL di atas secara dinamis, Anda mungkin ingin melihat yang berikut:Menggunakan array atau kamus seperti dari klausa dalam sql di excel vba
Baru kemarin saya menjawab pertanyaan serupa di mana pengguna ingin meneruskan konten lembar Excel sebagai tabel yang dibuat secara dinamis ke SQL Server. Anda dapat dengan mudah menyesuaikan (atau bahkan menggunakannya apa adanya) untuk tujuan Anda.
Untuk langkah terakhir (perbarui tabel ini di Excel dengan kueri SQL baru ini), Anda dapat menggunakan perekam makro dan melakukan apa yang saya lakukan pada tangkapan layar di atas. Kode yang dibuat secara otomatis tidak lebih / kurang dari apa yang akan saya usulkan kepada Anda.
Jadi, begitulah. Beri tahu saya jika saya tidak cukup jelas atau jika Anda memerlukan detail lebih lanjut untuk memahami solusi ini.