Potrzebuję wygenerować listę adresów, do których mój klient będzie wysyłać katalogi towarów. Chcą wysłać określoną liczbę katalogów (X) do określonego kodu pocztowego (Y) [To ma związek ze średnim dochodem w tych kodach pocztowych]Pobierz inną liczbę wierszy dla każdej kategorii z tabeli SQL Server
Mam 2 tabele w SQL Server 2008 R2: CatalogRequests
i AddressList
CatalogRequests
jest lista ilu katalogów powinniśmy wysłać do każdego kodu pocztowego w naszej bazie klientów:
| Zip | QuantityRequested |
-------------------------------
| 12345 | 150 |
| 13445 | 800 |
| 45678 | 200 |
| 41871 | 350 |
| 77777 | 125 |
AddressList
jest tak, że lista adresów =)
| Name | Address1 | Address2 | City | State | Zip |
---------------------------------------------------------------------------
| Bruce | 1 BatCave Dr | | Gotham City | IL | 12345 |
| Clark | 9 Smallville St | Apt A | Metropolis | NY | 45678 |
| Thor | 5 Valhalla Way | | Asgard | ?? | 77777 |
Przez pewien czas próbowałem zrobić to za pomocą zapytania SQL, po czym poddałem się i napisałem mały program w języku C#, który wykonał to, co było mi potrzebne (zasadniczo generując kilka zapytań SQL - po jednym dla każdego rekord w CatalogRequests
).
Moje pytanie brzmi, jak mogłem to zrobić z jednym zapytaniem SQL? Jestem po prostu ciekawy w tym momencie, wydaje się, że jest sposób, aby to zrobić i po prostu coś mi brakuje. Lub może nie być możliwe i jestem szalony =)
Zestaw wyników będzie rekordami z AddressList
, które spełniają wymagania w CatalogRequest
(na przykład 150 rekordów z kodem pocztowym 12345, 800 rekordów z kodem pocztowym 13445 itd.).
Dziękuję za laska! –
Nie ma za co, @CodeMagician! Twoje rozwiązanie bardzo mi pomogło w tym czasie. Dodatkowo chciałem [kapelusz związany z nagrodami] (http://winterbash2014.stackexchange.com/) ;-) – jadarnel27