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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
-- 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
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
--
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
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
-- 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
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.
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.
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.
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.
utilises substring() avec patindex()
br
"dorlag" <dorlag@chezfree.fr> wrote in message
news:545A1DFC-E397-45DF-B4D5-4312C6CF9738@microsoft.com...
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.
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.