* Bonjour, *
J'ai des données d'achat par client et par date que j'ai réussi à présenter de la manière suivante (données en anglais):
Le ColNumber correspond aux différentes colonnes du formulaires d'historiques d'achat (Description, BarCode, Amount, etc...) ainsi pour "Cookie1" ColNumber = 1 parce que la première colonne du formulaire c'est "Description" et Cookie 1 est la description du produit. Le RowNumber c'est le nombre de produits sur le même formulaire, donc pour le même client et la même date. Pour "Banana1", c'est row 2 car le client avec l'ID 1 a acheté en premier un "Cookie1" puis un "Banana1" à la même date.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ID Date Record ColNumber RowNumber ----------------------------------------------------------------
(Exemple: Premières colonnes du formulaire)
Ainsi la description du 4ème produit acheté le même jour par la meme client se présente dans mon tableau comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6FORMULAR ___________ Description BarCode Amount RetailPrice Others -----------------------------------------------------
"Record" contient comme valeur toutes les colonnes du formulaires (Description, BarCode, Amount, Retail Price, etc..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ID Date Record ColNumber RowNumber ---------------------------------------------------------------- ID Date Description 1 4
Le but est donc d'avoir un tableau ressemblant à ça:
J'ai l'impression que je dois utiliser un mix de PIVOT et de JOIN, mais mes essai m'ont juste ramené à ma table initiale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ID Date Description BarCode Amount Retail ------------------------------------------------------------------------
Voici un sample fictif de ma table pour vous donner une idée de la disposition des données
Ce qui donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 IF OBJECT_ID ('tempdb..#temptab') IS NOT NULL DROP TABLE #temptab CREATE TABLE #temptab ( ID INT NOT NULL, SellDate date NOT NULL, Record nvarchar(255), ColNumber int, RowNumber int) INSERT INTO #temptab (ID, SellDate, Record, ColNumber, RowNumber) VALUES (1, '2017-01-01', 'Cookie1', 1, 1), (1, '2017-01-01', '21312332', 1, 2), (1, '2017-01-01', '3', 1, 2), (1, '2017-01-01', 'Banana1', 2, 1), (2, '2017-01-01', 'Apple1', 1, 1), (3, '2017-01-01', 'Peach1', 1, 1), (3, '2017-01-01', '546462', 1, 2);
In the end I would like a table which look like that
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ID SellDate Record ColNumber RowNumber 1 2017-01-01 Cookie1 1 1 1 2017-01-01 CH212332 2 1 1 2017-01-01 3 3 1 1 2017-01-01 Banana1 1 2 2 2017-01-01 Apple1 1 1 3 2017-01-01 Peach1 1 1 3 2017-01-01 546462 2 1
(Les données manquantes ici sont dues en grande majorité au fait que je n'ai pas rentré l'entier de mes informations, mais si celle-ci n'existe pas, alors on remplit la case avec un NULL)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ID SellDate Description BarCode Amount 1 2017-01-01 Cookie1 CH212332 3 1 2017-01-01 Banana1 2 2017-01-01 Apple1 3 2017-01-01 Peach1 546462
* Merci *
Partager