mysql 如何将女学生中低于总平均成绩的成绩提高5%?
PHP中文网
PHP中文网 2017-04-17 15:39:31
0
3
2246
mysql> desc SC ;
Field Type Null Key Default Extra
SID int(11) NO PRI NULL
CID int(11) NO PRI NULL
GRADE int(11) YES NULL

3 rows in set (0.00 sec)

mysql> desc S ;
Field Type Null Key Default Extra
SID int(11) NO PRI NULL
SNAME varchar(20) YES NULL
AGE int(11) YES NULL
SEX int(11) YES NULL

表结构如上, 我写了一个sql:

update SC set GRADE = (GRADE+GRADE*0.05) where GRADE < (select AVG(GRADE) from SC x) and SID in (select SID from S where SEX = 1) ;

但是报错:

ERROR 1093 (HY000): You can't specify target table 'SC' for update in FROM clause

我到mysql的官网上也没找到解决的办法, 看了几个博客说是要使用中间表, 但是还是写不出来, 那么正确的sql是怎样的呢? 望告知

PHP中文网
PHP中文网

认证0级讲师

모든 응답(3)
阿神

으아악

阿神

으아악

Ty80

SC 테이블의 CID는 코스 ID를 나타내므로 코스별로 분류해야 합니다. 예를 들어 중국어 평균 점수가 80점이라면 중국어 점수가 80점 미만인 여자의 점수는 5점씩 증가합니다. %, 그리고 각 코스는 이 논리를 따르십시오

제 이해가 맞나요? 맞다면 코드를 입력하겠습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿