Показать количество записей для каждой категории - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в форуме и, пожалуйста, потерпите меня и сообщите мне, если что-то неясно.Спасибо.

Таблица: BB_BB60_COURSE_MAIN

Используемое поле: BATCH_UID, COURSE_ID

Критерии: COURSE_ID, содержащий ключевое слово "2018"


Таблица: BB_BB60_COURSE_USERs

Используемое поле: ROLE, ROW_STATUS

Критерии: ROLE = "S" (студент), ROW_STATUS = 0 (включено)


Таблица: BB_BB60_USERS

Используемое поле: USER_ID

Мне нужно выполнить запрос для двух разных подходов.

  1. Список количества студентов (включенных) для каждого идентификатора курса в 2018 году
  2. Список номеров курса (включенных) для каждого идентификатора пользователя (студента) в 2018 году

Я выполнил запрос для первого

SELECT 
    BB_BB60_COURSE_MAIN.BATCH_UID, 
    BB_BB60_COURSE_MAIN.COURSE_ID, 
    BB_BB60_COURSE_USERS.ROW_STATUS, 
    BB_BB60_COURSE_USERS.ROLE, 
    Count(BB_BB60_COURSE_USERS.USERS_PK1) AS NoOfEnrol
FROM 
    (BB_BB60_COURSE_USERS INNER JOIN BB_BB60_COURSE_MAIN ON BB_BB60_COURSE_USERS.CRSMAIN_PK1 = BB_BB60_COURSE_MAIN.PK1) 
    INNER JOIN BB_BB60_USERS ON BB_BB60_COURSE_USERS.USERS_PK1 = BB_BB60_USERS.PK1
WHERE 
    (((BB_BB60_COURSE_MAIN.COURSE_ID) Like "%2018%") AND 
    ((BB_BB60_COURSE_USERS.ROLE)="S") AND 
    ((BB_BB60_COURSE_USERS.ROW_STATUS)=0))
GROUP BY 
    BB_BB60_COURSE_MAIN.BATCH_UID, BB_BB60_COURSE_MAIN.COURSE_ID, 
    BB_BB60_COURSE_USERS.ROW_STATUS, BB_BB60_COURSE_USERS.ROLE
ORDER BY 
    BB_BB60_COURSE_MAIN.COURSE_ID;

Это часть результата:

BATCH_UID       COURSE_ID      ROW_STATUS    ROLE        NoOfEnrol
13july_2018_T2  13july_2018_T2     0          S             3
149301_2018_FY  149301_2018_FY     0          S             1
210011_2018_01  210011_2018_01     0          S             1
210011_2018_02  210011_2018_02     0          S             7
410401_2018_02  410401_2018_02     0          S             19
510151_2018_02  510151_2018_02     0          S             10
510998_2018_FY  510998_2018_FY     0          S             234
516001_2018_01  516001_2018_01     0          S             28
516009_2018_01  516009_2018_01     0          S             1
516024_2018_02  516024_2018_02     0          S             20
516557_2018_01  516557_2018_01     0          S             12

Я застрял во втором запросе, может кто-нибудь помочьс этим?Большое спасибо

1 Ответ

0 голосов
/ 08 февраля 2019

Ваш второй запрос будет:

SELECT  
    BB_BB60_COURSE_USERS.USER_ID,
    BB_BB60_COURSE_USERS.ROW_STATUS, 
    BB_BB60_COURSE_USERS.ROLE, 
    Count(BB_BB60_COURSE_MAIN.COURSE_ID) AS NoOfEnrol
FROM 
    (BB_BB60_COURSE_USERS INNER JOIN BB_BB60_COURSE_MAIN ON BB_BB60_COURSE_USERS.CRSMAIN_PK1 = BB_BB60_COURSE_MAIN.PK1) 
    INNER JOIN BB_BB60_USERS ON BB_BB60_COURSE_USERS.USERS_PK1 = BB_BB60_USERS.PK1
WHERE 
    (((BB_BB60_COURSE_MAIN.COURSE_ID) Like "%2018%") AND 
    ((BB_BB60_COURSE_USERS.ROLE)="S") AND 
    ((BB_BB60_COURSE_USERS.ROW_STATUS)=0))
GROUP BY 
    BB_BB60_COURSE_USERS.USER_ID, 
    BB_BB60_COURSE_USERS.ROW_STATUS, BB_BB60_COURSE_USERS.ROLE
ORDER BY 
    BB_BB60_COURSE_MAIN.COURSE_ID;
...