2011-10-17 2 views
-1

J'utilise SQL Server 2008 et ont un hashtable qui contient des données sur le code postal et ses données connexes. Si je prends le nombre d'enregistrements groupby code postal est comme ceséparée de resultset Hashtable en 3 tables

5000 HA 
6000 NW 
4000 S2 

Je voudrais savoir est-il un moyen de devidng les données dans trois tableaux distincts. si nous courir le premier jeu d'enregistrements qui est HA qui ressemblera à

Table1    Table2     Table3 
1st record of HA  2nd record of HA  3rd record of HA 
4th record of HA  ....etc 

est-il possible d'obtenir l'aide du curseur ou une suggestion?

Toute aide sera apprécié

Merci

+0

Il semble que ce que vous essayez d'accomplir ici soit une sorte d'équilibrage des données. Si tel est le cas, je ne pense pas que ce soit la bonne approche, en créant des tables différentes. Vous devriez utiliser quelque chose comme 'NTILE' pour cela dans une seule table. –

+0

Comment définissez-vous qui est le 1er ou 2ème enregistrement?, Sur quels critères voulez-vous commander les résultats ?. Aussi, vous voulez toujours diviser les résultats sur 3 tables ?, ou seulement parce qu'il y a 3 groupes sur le code postal? – Lamak

+0

@Lamak: Il n'y a pas de conditions particulières pour définir le 1er ou le 2ème. Juste besoin de diviser les données dans trois tables séparées (il y a environ plus de 5000 enregistrements) –

Répondre

1

Je ne peux imaginer aucune raison possible pourquoi je ferais une telle chose. Diviser en 3 tables rendra les données beaucoup plus difficiles à interroger plus tard. Mais si vous êtes bloqué avec cela alors je ferais quelque chose dans le sens de ceci:

Créer une table de correspondance avec trois colonnes A, B, C. Remplir la table avec les valeurs que vous voulez aller dans chaque table. Shoulf ressemble à cela, mais nous allons sortir la valeur maximale dont vous aurez besoin.

A B C 
1 2 3 
4 5 6 
7 8 9 
10 11 12 

Créer une table temporaire en utilisant row_number plus (ne pas oublier de commander par) à de sorte que vous pouvez dire quel enregistrement est la première HA et qui est le deuxième, etc. Maintenant, faites 3 inserts d'assemblage sur la nombre que vous avez généré dans chaque table de mappage de colonne inteh. S'ils se joignent à la colonne A, insérez-les dans la table A, colonne B, insérez le totable B, colmn c insérez dans le tableau c.