Объединение двух запросов MS Access - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть этот запрос:

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;

И запрос ttrans

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

Мне нужно изменить Count (*) с:

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

в запрос ttrans.

Я пытался использовать

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;

Но я получил такую ​​ошибку:

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

есть идеи как это исправить?

Примечание : Я пытаюсь найти 2 комбинации всех элементов в базе данных транзакций и получить результат, подобный этому

ITEM       Support
I1, I2     0.xxxxxxxxx

где поддержка (общая транзакция, содержащая элементы I1 и I2 / общая транзакция) -> обратите внимание, что я использую запрос ttrans для получения общей стоимости транзакции

note2: Я использую MS Access Note3:

Таблица Ttrans будет выглядеть так

Expr1
270200

Ответы [ 2 ]

0 голосов
/ 14 декабря 2010

каким-то образом я нахожу ответ:

я пытался использовать

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

это сработало чудо

0 голосов
/ 14 декабря 2010

Попробуйте:

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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...