Как получить минимальное и максимальное значение таблицы и создать другую таблицу с ним? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть следующие таблицы.

STUDENTS
    +------+----------------+
    | stuID| StuStatus      |
    +------+----------------+
    | 1001 | 1              |
    | 1001 | 3              |
    | 1002 | 1              |
    | 1003 | 6              |
    | 1004 | 1              |
    | 1002 | 4              |
    | 1001 | 6              |
    | 1005 | 1              |
    | 1005 | 4              |
    +------+----------------+
DESCRIPTION

    +-------+--------------------------+
    | statID| StatusDesc              |
    +-------+-------------------------+
    |    1  | Application Submitted   |
    |    2  | Application Accepted    |
    |    3  | Application Pending     |
    |    4  | Application Resubmitted |
    |    5  | Application Denied      |
    =+------+-------------------------+

Как использовать внутреннее объединение для создания таблицы, которая показывает для каждого учащегося, его начальную и конечную точки словами?

Это логический поток, который я сейчас имею в виду:

  1. Создайте две таблицы, обе со столбцами stuID и stuStatus.В таблицах будут отображаться значения min и max stuStatus каждого учащегося соответственно.

  2. Создайте новую таблицу, используя внутреннее соединение, где я присоединяю DESCRIPTION к своим таблицам 2 и 3.

Тем не менее, мне не ясно, как мне поступить, и я бы хотел помочь.

Спасибо.

1 Ответ

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

Сначала вы должны определить для каждого учащегося минимальный и максимальный статус, а затем преобразовать эти числа в соответствующие им описания.
Примерно так:

SELECT stu_stat.stuID,
       min_desc.statusDescr AS MinDescription,
       max_desc.statusDescr AS MaxDescription
FROM
(
SELECT StuID,
       MIN(StuStatus) AS MinStatus,
       MAX(StuStatus) AS MaxStatus
FROM   students
GROUP BY StuID
) AS stu_stat
JOIN   descr_table AS min_desc
  ON   stu_stat.MinStatus = min_desc.StatID
JOIN   descr_table AS max_desc
  ON   stu_stat.MaxStatus = max_desc.StatID;

Я не пробовал, хотя ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...