Abrufen der unterschiedlichen Anzahl von Zeilen für jede Kategorie aus der SQL Server-Tabelle

7

Ich muss eine Liste von Adressen generieren, an die mein Kunde Warenkataloge senden wird. Sie möchten eine bestimmte Anzahl von Katalogen (X) an eine bestimmte Postleitzahl (Y) senden [Dies hat mit dem durchschnittlichen Einkommen in diesen Postleitzahlen zu tun]

Ich habe 2 Tabellen in SQL Server 2008 R2: CatalogRequests und AddressList

CatalogRequests ist eine Liste, wie viele Kataloge wir an jede Postleitzahl in unserer Kundendatenbank senden sollten:

%Vor%

AddressList ist genau das, eine Liste von Adressen =)

%Vor%

Ich habe mir eine Weile lang mit einer SQL-Abfrage den Kopf zerbrochen, dann aufgegeben und ein kleines C # -Programm geschrieben, um das zu tun, was ich tun musste (im Grunde eine Menge SQL-Abfragen - eine für jeden Datensatz) in CatalogRequests ).

Meine Frage ist, wie hätte ich das mit einer SQL-Abfrage machen können? Ich bin nur zu diesem Zeitpunkt neugierig, es scheint, als ob es einen Weg gibt, es zu tun, und ich vermisse es einfach etwas. Oder vielleicht nicht möglich und ich bin verrückt =)

Die Ergebnismenge wären Datensätze von AddressList , die die Anforderungen in CatalogRequest erfüllen (z. B. 150 Datensätze mit einer Postleitzahl von 12345, 800 Datensätze mit einer Postleitzahl von 13445 usw.).

    
jadarnel27 11.08.2011, 18:02
quelle

3 Antworten

11

Hmm ... Was ist mit so etwas:

%Vor%

Zufällige Adressen in der angeforderten Menge.

    
Code Magician 11.08.2011, 18:15
quelle
5

Nicht getestet, da keine DDL und keine Testdaten vorhanden sind:

%Vor%     
A-K 11.08.2011 18:53
quelle
4

Eine Methode besteht darin, dynamisches SQL zu verwenden (was gefährlich und nicht leichtfertig ist) :

%Vor%

Überprüfen Sie den Link für den kanonischen Verweis auf Dynamic SQL.

    
JNK 11.08.2011 18:09
quelle

Tags und Links