2017-10-11 18 views
0

Il y a table1 informations sur le produit et le tableau 2 avec des informations clientSQL - Insérer des données de deux tables dans une troisième

Table 1 (Product Information) 
 
--------------- 
 
product | value 
 
--------------- 
 
Product_A | 5 
 
Product_B | 10 
 

 

 

 
Table 2 (client Information) 
 
---------------------------------------------------- 
 
ConsumerID | Purchase_product_A | Purchase_product_B 
 
---------------------------------------------------- 
 
1A | 3 | 4 
 
2B | 2 | 3

je dois avoir ces informations dans une troisième table = Tableau 3

Table 3 
 
-------------------------------- 
 
ConsumerID | Frequency | product 
 
--------------------------------- 
 
1A | 3 | Product_a 
 
1A | 4 | Product_b 
 
2B | 2 | Product_a 
 
2B | 3 | Product_b

Dans le tableau 3, je dois avoir un aperçu de: ConsumerID, Fréquence des achats et le produit. ConsumerID peut avoir une ligne distincte pour chaque produit.

Il est important de savoir que seul SQL-Server-2005 est pris en charge et que chaque requête doit commencer par Sélectionnez. Merci pour l'aide.

+0

Modifiez votre question et fournissez des exemples de données et les résultats souhaités. –

Répondre

0

Vous devez changer la couleur. J'aime utiliser apply pour cela:

select u.* 
from table2 t2 cross apply 
    (select customer_id, 'A' as product, Frequency_purchase_product_A as frequency 
     union all 
     select customer_id, 'B' as product, Frequency_purchase_product_B as frequency 
    ) u(customer_id, product, frequency); 

Je ne pense pas que la première table est nécessaire.

+0

Salut Gordan, merci pour une réponse rapide. J'ai édité les tableaux pour montrer les résultats attendus. Pensez-vous toujours que cette approche fonctionne? – Christian

+0

@Christian. . . Vous devez remplir les bons noms de produits, mais oui, cela devrait fonctionner. –

+0

@Gordan Qu'est-ce qui se passe maintenant, il travaille pour 'B' pas pour 'A'. Ce qui signifie qu'il sélectionne toutes les données de table2 mais seulement pour un produit. Des idées pourquoi? – Christian