데이터베이스 'college2'에는 'student, course & enrollment'및 ' 보기 : 'enrolment_status', 다음 명령을 사용하여 생성됩니다Mysql : 테이블의 열과보기의 다른 열 사이의 차이를 만드는 방법
CREATE VIEW enrolment_status AS
SELECT code, COUNT(id)
FROM enrolment
GROUP BY code;
가 명령 설명 '물론, 등록 및 enrolment_status'결과 :
mysql> EXPLAIN course;
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| code | char(8) | NO | PRI | NULL | |
| name | varchar(90) | YES | MUL | NULL | |
| max_enrolment | char(2) | YES | | NULL | |
+---------------+-------------+------+-----+---------+-------+
3 rows in set (0.09 sec)
mysql> explain enrolment;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | char(6) | YES | MUL | NULL | |
| code | char(8) | YES | MUL | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.02 sec)
mysql> explain enrolment_status;
+-----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+-------+
| code | char(8) | YES | | NULL | |
| COUNT(id) | bigint(21) | NO | | 0 | |
+-----------+------------+------+-----+---------+-------+
2 rows in set (0.18 sec)
'과정'에서
'max_enrolment'열 표를 각 코스의 학생 수는 최대 10 명 또는 20 명입니다. 'enrolment_status'의 'count (id)'열 '보기'(표가 아님)는 각 과정에 등록한 실제 학생 수입니다. 'enrollment'의 'id'열 TABLE은 코스에 등록 된 학생 ID입니다.
내 질문 : max_enrolment 열과 'count (id)'열의 차이 인 '좌 회의 수'를 갖고 싶습니다. '# of seatats left'는 독립 실행 형 테이블 또는 뷰일 수도 있고 위 표에 추가 된 열일 수도 있습니다. 에 대한 약어를 사용하는
ERROR 1054 (42S22): Unknown column 'enrolment_status.count' in 'field list'
mysql> SELECT*FROM enrolment_status;
+----------+-----------+
| code | COUNT(id) |
+----------+-----------+
| COMP9583 | 7 |
| COMP9585 | 9 |
| COMP9586 | 7 |
| COMP9653 | 7 |
| COMP9654 | 7 |
| COMP9655 | 8 |
| COMP9658 | 7 |
+----------+-----------+
7 rows in set (0.00 sec)
mysql> SELECT code, max_enrolment FROM course;
+----------+---------------+
| code | max_enrolment |
+----------+---------------+
| COMP9583 | 10 |
| COMP9585 | 15 |
| COMP9586 | 15 |
| COMP9653 | 12 |
| COMP9654 | 10 |
| COMP9655 | 12 |
| COMP9658 | 12 |
+----------+---------------+
7 rows in set (0.00 sec)
+----------+---------------------+
| code | max_enrolment - cnt |
+----------+---------------------+
| COMP9583 | 9 |
| COMP9585 | 14 |
| COMP9586 | 14 |
| COMP9653 | 11 |
| COMP9654 | 9 |
| COMP9655 | 11 |
| COMP9658 | 11 |
+----------+---------------------+
7 rows in set (0.09 sec)
다음 프로세스로 넘어 가기 전에 카운트를 먼저 만듭니다. –
카운트가 테이블'enrolment_status'의 필드 이름입니까? –