Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Limiter les données d'une table en fonction d'une autre

Bonjour à tous

J'ai un pb dans la création de mon script : j'ai une table de sites, une de produits et une de localisation (qui liste les différentes localisations par date : mon produit 1 sur le site A, de telle date à telle date, puis sur le site B de telle date à telle date...)

Je charge mes sites, que je limite à quelques clients (clause where dans ma requête SQL)

Je charge ensuite mes localisations, que je limite par un Where Exists(Id Site) : je ne veux que mes localisations sur les sites chargés précédemment.

Puis je charge mes produits, que je limite par un Where Exists(Id produit) : je ne veux que mes produits qui ont une localisation.

Jusqu'ici tout va bien, je n'ai vraiment que les produits qui sont localisés, sur les bons sites des clients sélectionnés.

Sauf que j'ai des produits qui ont été supprimés, et les localisations sont toujours présentes dans mon entrepôt (un pb que je vais transmettre à qui de droit )

Je souhaiterai donc n'avoir que les localisations pour des produits existants.

Je pensais utiliser un drop table, mais sans succès

Script initial :

SQL Select IdSite, NomSite

From SITE;

LOAD * where exists(IdSite);

SQL Select IdSite, IdProduit, DateDébut, DateFin

From LOCALISATION;

LOAD * where exists(IdProduit);

SQL Selec IdProduit, Marque, Modele, NumSerie

From PRODUIT;

et je devrai ajouter une table du style:

LOAD * RESIDENT LOCALISATION where exists(IdProduit);

DROP Table LOCALISATION;

Au chargement, je retrouve ma table avec les mêmes données que le script initial.

A+

1 Solution

Accepted Solutions
Not applicable
Author

salut,

tu peux rajouter celà à la fin:

LOCALISATION:

inner join (LOCALISATION)

LOAD IdProduit RESIDENT PRODUIT;

View solution in original post

4 Replies
Not applicable
Author

salut,

tu peux rajouter celà à la fin:

LOCALISATION:

inner join (LOCALISATION)

LOAD IdProduit RESIDENT PRODUIT;

Anonymous
Not applicable
Author

Salut Yann

Je l'ajoute après le script des 3 tables ? et je fais bien le drop table ?

Not applicable
Author

Tu le rajoutes après le chargement des 3 tables.

ça fait une jointure avec les produits (ne garde dand la table existante que les éléments pour lequel il existe un IdProduit), donc pas de Drop Table ensuite

Anonymous
Not applicable
Author

Merci beaucoup Yann !!