2016-09-21 72 views
0

我想顯示全部類別和等級只有那些至少有一個「F」級的學生。MS Access:根據另一個字段顯示整個羣組

這裏是源表:

ID | Students | Class | Grade 
1 | Addams, W | History | A 
2 | Addams, W | Biology | A 
3 | Addams, W | French | B 
4 | Jetson, E | Spanish | B 
5 | Jetson, E | Geometry | B 
6 | Jetson, E | Biology | F 
7 | Rubble, B | English | F 
8 | Rubble, B | Geometry | B   
9 | Rubble, B | Biology | B 
10 | Flintstone, P | Music | A 
11 | Flintstone, P | Spanish | B 

這裏有一個報告,由學生分組:

Addams, W 
    ---------------French B 
    ---------------Biology A 
    ---------------History  A 
Flintstone, P 
    ---------------Spanish B 
    ---------------Music  A 
Jetson, E 
    ---------------Biology F 
    ---------------Geometry B 
    ---------------Spanish B 
Rubble, B 
    ---------------Biology  B 
    ---------------Geometry B 
    ---------------English  F 

同樣,我想顯示所有班級的那些至少有一個「F」級的學生,如下所示:

Jetson, E 
    ---------------Biology F 
    ---------------Geometry B 
    ---------------Spanish B 
Rubble, B 
    ---------------Biology  B 
    ---------------Geometry B 
    ---------------English  F 

任何援助將不勝感激。

回答

0
  1. 創建一個查詢與您的表作爲源。放入第一列的學生字段中,並在第二列中輸入以下公式:IIf([Grade] =「F」,1,0),然後保存查詢。 (默認情況下,Access會將此列命名爲「Expr1」,但您將其更改爲任何您喜歡的內容)

  2. 使用查詢1作爲源創建第二個查詢,將查詢1,group on,sum具有公式的列,並在此列中添加> = 1的條件並保存。你現在只有一個桌子,只有至少有1個「F」的學生。 (通過將光標放置在查詢底部的網格部分,右鍵單擊並從提示框中選擇「總計」進行分組)

  3. 創建第三個查詢,將第二個查詢綁定到原始源表連接學生字段與1比1匹配(即聯接類型1)。

+0

OP在這裏:這也工作;謝謝。 – user6859434

0

您可以使用子查詢到在同一個表查詢有F級任何情況下查詢您的表:

SELECT a.ID, a.Students, a.Class, a.Grade 
FROM yourtable AS a 
WHERE EXISTS 
(
SELECT '1' 
FROM yourtable AS b 
WHERE a.Students = b.Students 
AND b.Grade = 'F' 
); 

接下來,你的基礎上面查詢報告。

+0

OP在這裏:這工作很好,非常感謝。 – user6859434

0

OP在這裏:兩個答案都有效;再次感謝。下面是第二個答案的代碼:

查詢1 SELECT Students2.Students,IIf([Grade] =「F」,1,0)AS F_grade FROM Students2;

查詢2個 SELECT Query1.Students,SUM(Query1.F_grade)AS SumOfF_grade FROM查詢1 GROUP BY Query1.Students HAVING(((薩姆(Query1.F_grade))> = 1));

查詢3 SELECT Students2.Students,Students2.Class,Students2.Grade FROM Students2 INNER JOIN Query2 ON Students2.Students = Query2.Students;

相關問題