2009-10-16 7 views
0

Je travaille sur une base de données de types de verre dans MS Access.Comment puis-je mettre à jour les champs spécifiques à l'aide d'une table de référence croisée?

une table dans la base de données affiche les informations de base sur le verre: Un identifiant unique (le "numéro de verre"), la description, le coût par pied carré, etc.

Tableau 1 "GlassInfo":..

 
GlassNo Description  CostSqFt TemperCost LamiCost 
0001 "Heavy Glass" 1.38  0.18  0.65 
0002 "0001 Tempered" 1.50  0.18  0.65 
0003 "0001 Laminated" 1.62  0.18  0.65

une table est une référence croisée, la liste des numéros de verre de toute la « base » (non trempé) le verre et le nombre (s) du verre après trempe, etc.

tableau 2 « GlassCR »:

 
BaseType SameAs 
0001  0002 
0001  0003

Comment puis-je suis un ke une requête SQL passer et changer GlassInfo.CostSqFt pour correspondre à la GlassInfo.CostSqFt du GlassCR.BaseType pour cette GlassInfo.GlassNo? En gros, comment je fais le match CostSqFt celui du « parent » GlassNo?

Répondre

0
UPDATE 
    (GlassCR AS c 
    INNER JOIN GlassInfo AS i1 
    ON c.BaseType = i1.GlassNo) 
    INNER JOIN GlassInfo AS i2 
    ON c.SameAs = i2.GlassNo 
SET 
    i2.CostSqFt = i1.CostSqFt; 
Questions connexes