2010-12-14 4 views
0

J'ai cette requête:La combinaison de deux MS Access requêtes

SELECT "I1" & "," & "I2" AS Item_set, Round(Sum([T1].Fuzzy_Value)/Count(*),15) AS Support 
    FROM (SELECT * 
    FROM Prune AS t 
    WHERE t.Trans_ID IN 

     (SELECT t1.Trans_ID FROM (

     SELECT *FROM Prune WHERE [Nama]="I1") AS t1 
     INNER JOIN (SELECT * FROM Prune WHERE [Nama]="I2") AS t2 ON t1.Trans_ID = t2.Trans_ID) 

    AND t.Nama IN ("I1","I2")) AS T1; 

Et Ttrans requête

SELECT Count([Trans_ID].[Trans_ID]) AS Expr1 
FROM Trans_ID; 

Je dois changer de Count (*):

SELECT "I1" & "," & "I2" AS Item_set, Round(Sum([T1].Fuzzy_Value)/Count(*),15) 

dans Ttrans requête.

J'ai essayé d'utiliser

SELECT "I1" & "," & "I2" AS Item_set, Round(Sum([T1].Fuzzy_Value)/ttrans.Expr1,15) AS Support 
FROM (SELECT * 
FROM Prune AS t 
WHERE t.Trans_ID IN 

    (SELECT t1.Trans_ID FROM (

    SELECT *FROM Prune WHERE [Nama]="I1") AS t1 
    INNER JOIN (SELECT * FROM Prune WHERE [Nama]="I2") AS t2 ON t1.Trans_ID = t2.Trans_ID) 

AND t.Nama IN ("I1","I2")) AS T1, ttrans; 

Mais je suis erreur comme ceci:

You tried to execute a query that does not include the specified expression 
'Round(sum([T1].Fuzzy_Value/ttrans.Expr1,15)' as part of an aggregate function 

une idée comment le résoudre?

Remarque: Je suis en train de trouver 2 combinaison de tout l'article dans la base de données de transaction et obtenir un résultat comme celui-ci

ITEM  Support 
I1, I2  0.xxxxxxxxx 

où le soutien est (transaction totale contenant un objet I1 et I2/transaction totale) -> Notez que j'utilise Ttrans requête pour obtenir la valeur totale des transactions

note2: J'utilise MS Access note3:

tableau Ttrans ressemblera à ceci

Expr1 
270200 

Répondre

0

je trouve en quelque sorte la réponse:

i essayé d'utiliser

SELECT "I1" & "," & "I2" AS Item_set, Round(Sum([T1].Fuzzy_Value)/sum(ttrans.Expr1),15) 

cela a fonctionné merveille

dix
0

Essayez:

SELECT "I1" & "," & "I2" AS Item_set, Round(Sum([T1].Fuzzy_Value)/ttrans.Expr1,15) AS Support 
FROM (SELECT * 
FROM Prune AS t 
WHERE t.Trans_ID IN 

    (SELECT t1.Trans_ID FROM (

    SELECT *FROM Prune WHERE [Nama]="I1") AS t1 
    INNER JOIN (SELECT * FROM Prune WHERE [Nama]="I2") AS t2 ON t1.Trans_ID = t2.Trans_ID) 

AND t.Nama IN ("I1","I2")) AS T1, ttrans 
GROUP BY "I1" & "," & "I2" 
Questions connexes