Besoin d'aide pour essayer de faire un simple INSERT SQL avec une vérification simple des données

StackOverflow https://stackoverflow.com/questions/834247

  •  08-07-2019
  •  | 
  •  

Question

J'ai les données suivantes dans un tableau.

Name                LeftId    RightId
------------------------------------------
Cat                     1  
Cat                     2
Dog                     4
Dog                     5
Dog                               7
Dog                               69
Gerbil                  12        13 

Je dois les insérer dans une nouvelle table en tant que ...

Id         Name
-------------------------------
1          Cat
2          Cat
4          Dog
5          Dog
7          Dog
69         Dog
12         Gerbil    (or 13. don't care which number out of the two)

Ainsi, les champs LeftId et RightId peuvent contenir NULLS OR une valeur NVARHCAR (bien qu’ils soient listés sous forme de nombres, ils seront toujours des nombres .. seulement l’importation a créé le champ sous la forme nvarchar (255).

Je peux modifier les champs de la table source, si nécessaire.

Quelqu'un peut-il aider?

J'imagine que l'instruction insert comportera une requête de sélection et utilisera une instruction CASE. Je ne sais tout simplement pas comment faire au mieux.

Cheers:)

Était-ce utile?

La solution

Vous pouvez le faire facilement avec IsNull:

INSERT INTO newtable (id,name)
SELECT IsNull(leftid,rightid), name
FROM oldtable
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top