Bonjour à tous
Je suis actuellement en stage et je manipule SQL server, qui est tout à fait nouveau pour moi. De fait, je tente de lire davantage de documentation afin de comprendre et pouvoir mettre en application ce qui m'est demandé.
Néanmoins, je bloque actuellement et je ne trouve pas de réponse.
J'aurais besoin de faire un curseur pour compter le nombre de fois que le couple productid1 et productid2 se réalise.
Voici dans un premier temps afin que vous puissiez comprendre mon raisonnement mes requêtes (tables) :
Qui donne : useridlocal | comref | timeid | productid
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select A.userIdLocal,A.comRef,B.timeID,B.productID into #TMP_USERORDER from (select userIdLocal,targetValue as comRef from tmp_factproductorder$ group by userIdLocal,targetValue ) A inner join (select timeID, productId,substring(comRef,4,50) as comRef from factcustomerinvoices where siteID='FB' ) B on A.comRef=B.comRef
Qui donne : timeid1 |productid1| timeid2 | productid2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 --#temp_user_order : select V.timeId as timeid1,V.productID as productid1, O.timeID as timeid2,O.productId as productid2 from (select useridlocal , convert(varchar(8),dateadd(day,datevisite/(60*60*24),cast('19700101' as datetime)),112) as timeId , targetValue as productId from tmp_matrice_base ) V inner join #TMP_USERORDER O on V.useridlocal = O.useridlocal and V.TimeID <= O.TimeID
Je vous donnes le schéma des tables qui sont dans mes requêtes :
tmp_factproductorder$ : useridlocal | targetvalue
factcustomerinvoices : TimeId| Date | Datecom |...| SiteID | Comref |...........
tmp_matrice_base : useridlocal | datevisite | targetvalue | date | ordre | position
J'ai réussi à faire les requêtes qu'on m'a demandé mais je bloque vraiment pour cette histoire de curseur.
Si vous avez une solution pour remédier à ce problème je suis preneur car je ne maîtrise pas assez sql server malheureusement (mais je persiste ^^ )
En espérant avoir été clair, merci d'avance à ceux qui tenterons de m'aider
Partager