2011-10-13 6 views
-1

i ont un problème de la façon de mettre à jour les données de la table A à la table B et de faire dans le sens horizontal à partir de vertical..example estcode de serveur SQL (MISE À JOUR)

Table A    -----------  Table B 

ID ----- Item  -----------  ID ------Item 

11---  iPhone4  -----------  11 ------iPhone4,iPhone4s,iPhone5 
11---  iPhone4s 
11---  iPhone5 

signifie que de 3 rangées deviennent 1 lignes. S'il vous plaît aider, vraiment noob dans ce cas .. Merci

+1

appropriée aligner la structure de votre code et la table – rahularyansharma

+1

Pourquoi voudriez-vous faire? vous devriez lire sur [normalisation de base de données] (http://www.dbnormalization.com/). En outre, lorsque 3 produits différents ont le même identifiant, cela va un peu à l'encontre du but. –

+0

Voulez-vous que 'Item' soit une colonne ou que vous voulez 3 colonnes' Item'? – Filburt

Répondre

0

Essayez ceci .. Utilisez GROUP_CONCAT pour fusionner en une ligne les lignes que vous voulez fusionner.

SELECT ID,GROUP_CONCAT(item) 
    FROM yourtable 
GROUP BY ID; 
1

Essayez avec cette ..

Select ID,   
Left(Item,Len(Item)-1) As Items 
From(
    Select distinct T2.ID, 
    (Select 
    T1.Item + ',' AS [text()]    
    From TableA T1       
    where T1.ID = T2.ID 
    For XML PATH ('')) [item]  
    From dbo.TableA T2 
    ) t