2010-02-03 33 views
1

J'ai données comme:requête SQL pour insérer dynamique ligne

ItemCode   Attribute  PositionID 
ITEM-000032 CHESTSIZE 1 
ITEM-000032 JACKETLEN   2 
ITEM-000042 CHESTSIZE   1 
ITEM-000042 JACKETLEN   2 
**ITEM-000049 SLACKWAIST 1** 
ITEM-000071 CHESTSIZE   1 
ITEM-000071 JACKETLEN   2 
ITEM-000074 CHESTSIZE   1 
ITEM-000074 JACKETLEN   2 

Dans les données ci-dessus, sauf autres ITEM-000049 sont d'avoir une combinaison parfaite. donc je veux créer une nouvelle ligne pour ITEM-000049 Comme

ITEM-000049 -- 2 

pour le rendre parfait.

Cordialement, Om

+0

Pourquoi ne pas simplement insérer la nouvelle ligne? –

+0

Et quelle est votre question? – Oded

+0

Vous devez le rendre plus clair ce que vous voulez - « une combinaison parfaite » n'a pas de sens – Mark

Répondre

1

Ressemble pour chaque ItemCode, vous attendez 2 enregistrements, pour 2 différents attributs.

Donc quelque chose comme ceci est ce que je pense que vous êtes après. Il suffit de lancer la partie SELECT en premier sans INSERT pour vérifier que c'est bien ce que vous recherchez.

INSERT YourTable (ItemCode, Attribute, PositionID) 
SELECT t.ItemCode, 'SECOND ATTRIBUTE', 2 
FROM 
(
SELECT ItemCode 
FROM YourTable 
GROUP BY ItemCode 
HAVING COUNT(*) = 1 
) t 
+0

Merci beaucoup, ce que je veux. –