OVH Cloud OVH Cloud

Problème de requête : je suis perdu !!!

3 réponses
Avatar
dorlag
Bonjour à tous,

J'ai un pb pour constituer une requête :
J'ai deux tables :
- la source avec un champ contenant un identifant unique et un second champ
contenant des valeurs séparée par un "-" (1 à n)
- la cible qui contient le même identifiant unique et 4 champs où je
souhaite y insérer 1 à 4 des valeurs venant de la source.

En clair j'ai au départ :
Table1
ID Valeurs
1 A-B-C-D-E-F
2 A-B

et
Table 2
ID V1 V2 V3 V4
1
2

A l'arrivée j'aimerais avoir dans la table 2 :
ID V1 V2 V3 V4
1 A B C D
2 A B

Merci pour votre aide

3 réponses

Avatar
Fred BROUARD
Bonjour,

INSERT INTO Table2
SELECT ID,
CASE
WHEN SUBSTRING(Valeurs, 1, 1) IS NULL
THEN NULL
ELSE SUBSTRING(Valeurs, 1, 1)
END,
WHEN SUBSTRING(Valeurs, 3, 1) IS NULL
THEN NULL
ELSE SUBSTRING(Valeurs, 3, 1)
END,
WHEN SUBSTRING(Valeurs, 5, 1) IS NULL
THEN NULL
ELSE SUBSTRING(Valeurs, 5, 1)
END,
WHEN SUBSTRING(Valeurs, 7, 1) IS NULL
THEN NULL
ELSE SUBSTRING(Valeurs, 7, 1)
FROM Table1

Apprendre SQL : http://sqlpro.developpez.com/bookSQL.html

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


dorlag a écrit:
Bonjour à tous,

J'ai un pb pour constituer une requête :
J'ai deux tables :
- la source avec un champ contenant un identifant unique et un second champ
contenant des valeurs séparée par un "-" (1 à n)
- la cible qui contient le même identifiant unique et 4 champs où je
souhaite y insérer 1 à 4 des valeurs venant de la source.

En clair j'ai au départ :
Table1
ID Valeurs
1 A-B-C-D-E-F
2 A-B

et
Table 2
ID V1 V2 V3 V4
1
2

A l'arrivée j'aimerais avoir dans la table 2 :
ID V1 V2 V3 V4
1 A B C D
2 A B

Merci pour votre aide


Avatar
dorlag
Merci Fred pour ta réponse rapide,

Le problème n'est pas résolu parce que mes valeurs ont des tailles
variables, seul le séparateur "-" me permet de connaitre la longueur des
valeurs.
Dans l'exemple j'ai donné A-B-C-D mais je peux avoir A-toto-dfhdksfhd-D.

Merci de ton aide.
Avatar
bruno reiter [MVP]
utilises substring() avec patindex()

br

"dorlag" wrote in message
news:
Merci Fred pour ta réponse rapide,

Le problème n'est pas résolu parce que mes valeurs ont des tailles
variables, seul le séparateur "-" me permet de connaitre la longueur des
valeurs.
Dans l'exemple j'ai donné A-B-C-D mais je peux avoir A-toto-dfhdksfhd-D.

Merci de ton aide.