Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SSIS] Merge join / requête / vues ?

2 réponses
Avatar
OokieDookie
Bonjour à tous,

Je suis toujours avec mon lot SSIS, et cette fois-i je cherche à récupérer
une ligne par date, en fonction d'une date de début et d'une date de fin.

J'ai trois tables à traiter sur le mode :

SELECT CAL.DATE_JOUR, P.TYPE, P.RESSOURCE, ...
FROM CALENDRIER CAL LEFT OUTER JOIN PRESTA P
ON CAL.DATE_JOUR >= P.DATE_DEBUT AND CAL.DATE_JOUR <= DATE_FIN

J'avais commencé par faire une tâche UNION ALL à partir de mes trois tables
d'origine pour utiliser une seul fois la table CALENDRIER, mais apparemment
il n'est pas possible d'utiliser la tâche MERGE JOIN avec le type de jointure
mentionné ci-dessus.

A ce stade je me demande s'il n'est pas plus indiquer que je recoure à une
SQL Task :
- soit en utilisant une requête
- soit (beaucoup plus simple pour moi) en créant des vues dans la base ODS
pour alimenter le dataware.

Comme toujours je suis preneur de vos remarques et conseils, que ce soit en
termes d'orientation du développement ou de performances.

Merci et bonne fin de journée.

2 réponses

Avatar
Fredep_MS
il est toujours plus efficace en performance de faire faire le travail par
SQL, je conseille une vue ou un requete sql

My2c

"OokieDookie" wrote in message
news:
Bonjour à tous,

Je suis toujours avec mon lot SSIS, et cette fois-i je cherche à récupérer
une ligne par date, en fonction d'une date de début et d'une date de fin.

J'ai trois tables à traiter sur le mode :

SELECT CAL.DATE_JOUR, P.TYPE, P.RESSOURCE, ...
FROM CALENDRIER CAL LEFT OUTER JOIN PRESTA P
ON CAL.DATE_JOUR >= P.DATE_DEBUT AND CAL.DATE_JOUR <= DATE_FIN

J'avais commencé par faire une tâche UNION ALL à partir de mes trois
tables
d'origine pour utiliser une seul fois la table CALENDRIER, mais
apparemment
il n'est pas possible d'utiliser la tâche MERGE JOIN avec le type de
jointure
mentionné ci-dessus.

A ce stade je me demande s'il n'est pas plus indiquer que je recoure à une
SQL Task :
- soit en utilisant une requête
- soit (beaucoup plus simple pour moi) en créant des vues dans la base ODS
pour alimenter le dataware.

Comme toujours je suis preneur de vos remarques et conseils, que ce soit
en
termes d'orientation du développement ou de performances.

Merci et bonne fin de journée.




Avatar
OokieDookie
Merci beaucoup
Bonne journée

"Fredep_MS" a écrit :

il est toujours plus efficace en performance de faire faire le travail par
SQL, je conseille une vue ou un requete sql

My2c

"OokieDookie" wrote in message
news:
> Bonjour à tous,
>
> Je suis toujours avec mon lot SSIS, et cette fois-i je cherche à récupérer
> une ligne par date, en fonction d'une date de début et d'une date de fin.
>
> J'ai trois tables à traiter sur le mode :
>
> SELECT CAL.DATE_JOUR, P.TYPE, P.RESSOURCE, ...
> FROM CALENDRIER CAL LEFT OUTER JOIN PRESTA P
> ON CAL.DATE_JOUR >= P.DATE_DEBUT AND CAL.DATE_JOUR <= DATE_FIN
>
> J'avais commencé par faire une tâche UNION ALL à partir de mes trois
> tables
> d'origine pour utiliser une seul fois la table CALENDRIER, mais
> apparemment
> il n'est pas possible d'utiliser la tâche MERGE JOIN avec le type de
> jointure
> mentionné ci-dessus.
>
> A ce stade je me demande s'il n'est pas plus indiquer que je recoure à une
> SQL Task :
> - soit en utilisant une requête
> - soit (beaucoup plus simple pour moi) en créant des vues dans la base ODS
> pour alimenter le dataware.
>
> Comme toujours je suis preneur de vos remarques et conseils, que ce soit
> en
> termes d'orientation du développement ou de performances.
>
> Merci et bonne fin de journée.
>
>