Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour la communauté
J'ai une variable qui me permet de saisir une date, pour recharger les données.
Je veux utiliser cette variable comme critère de ma clause WHERE dans mon script
J'ai mis un WHERE DATE>=$(V_DATE_EXTRACT);
mais ça ne fonctionne pas, j'ai un message d'erreur qui me redonne ma requête : DATE>=01/01/2015
Si je rentre une date en dur, je dois mettre WHERE DATE>='01/01/2015';
Les quotes seraient manquantes quand j'utilise ma variable.
Quelqu'un(e) aurait une idée/solution ?
Merci
Je ne comprend pas bien,
- Si on est dans le où:
Nom_Table1:
LOAD
-
-;
sql Select
-
-
From TABLE SOURCE;
Tu ne peux pas faire Where avec l'intruction LOAD.
Tu Seras donc obligé de faire une lecture de la table en resident
Nom_Table:
LOAD
Resident Nom_Table1 where date>= '$(V_DATE_EXTRACT)' ;
Drop TAble Nom_Table1;
Normalement utiliser le Where dans le cas LOAD RESIDENT aura le resultat que vous rechercher sans alterer la qualité de vos données
Mon script aujourd'hui est :
LOAD *;
SQL Select *
FROM matable
WHERE DEBUT>='$(V_DATE_EXTRACT)';
Pas d'erreur, mais de respect de la clause Where non plus.
Je vais partir sur un Where dans le Load, avec un Resident et Drop.
Mais si la solution directement dans la requête SQL existe, j'y gagnerai en temps de chargement.
En effet si on le fait avec sql directement on gagnera plus de temps mais le problème on ne comprend pas pourquoi ça marche pas.
Alors essaie la solution avec load resident pour apprécier le résultat;
J'ai modifié mon script, en ajoutant un LOAD RESIDENT.
Par contre, j'ai un soucis : je charge une table client, qui a une clause where, puis une table produits
LOAD * where exists (cli_ident);
SQL Select * from produits;
Jusqu'ici tout va bien, j'ai tous les produits du client.
Si je veux utiliser LOAD RESIDENT ensuite, je veux reprendre tous les champs : LOAD * RESIDENT produits WHERE DEBUT>='$(V_DATE_EXTRACT)'; me charge tous mes produits sans ternir compte de mon filtre.
Si je reprends le même script mais en listant les champs, les données sont bien filtrées comme demandé.
Est-ce un fonctionnement normal, doit on obligatoirement indiqué quels champs conserver ?
En l’occurrence, je les veux tous, je ne veux qu'appliquer un filtre sur les données.
A+
Là je pense que je suis limité sur cette question
Pas grave, tu m'as déjà bien aidé !
Merci beaucoup Almamy.diaby