문제점 1 : SQL CREATE TABLE 문을 사용하여 영화 번호, 별표 번호 및 감독 번호와 4 개의 연기 상에 대한 속성이있는 테이블 MOVSTARDIR을 작성하십시오. 기본 키는 참조 무결성이 적용되는 영화 번호, 별표 번호 및 감독자 번호 (모두 3 개)입니다. 감독 번호는 해당 영화의 감독이며 별은 해당 영화에 출연해야합니다. INSERT INTO를 사용하여 MOVSTARDIR을 (기존 테이블에서)로드하십시오.이 SQL 문은 무엇이 잘못 되었습니까?
내 대답 :
CREATE TABLE MOVSTARDIR
(MVNUM SHORT NOT NULL, STARNUM SHORT NOT NULL, DIRNUM SHORT NOT NULL, BESTF TEXT, BESTM TEXT, SUPM TEXT, SUPF TEXT)
ALTER TABLE MOVSTARDIR
ADD PRIMARY KEY (MVNUM,STARNUM,DIRNUM)
INSERT INTO MOVSTARDIR
SELECT MOVIE.MVNUM,STAR.STARNUM,DIRECTOR.DIRNUM... BESTF,BESTM,SUPM,SUPF
FROM MOVSTAR, DIRECTOR, MOVIE
WHERE MOVSTAR.MVNUM=MOVIE.MVNUM
AND MOVIE.DIRNUM=DIRECTOR.DIRNUM`
* 나에게 뭔가 잘못이다라는 오류를주는 그것의 문 "테이블을 만들고"하고는 SQL 문에서 단어 "변경"을 강조한다. 또한 참조 무결성을 어떻게 추가합니까? *
문제 2 : MOVSTARDIR의 감독을 표에 포함 된 4 가지 수상 카테고리에서 얻은 총상과 함께 나열하십시오. 감독 이름 (번호가 아님)과 4 가지 범주의 수 및 4 가지 범주 모두의 합계를 나열하십시오. 디렉터 이름으로 보고서를 그룹화합니다 (예 : 디렉터 당 한 줄, 각 디렉터가 한 번 표시). 합계 (내림차순)로 보고서를 그룹화합니다. 합은 모든 레코드를 나열이다이 더 3보다
SELECT DISTINCT DIRNAME, COUNT(BESTF) AS BESTFE, COUNT(BESTM) AS BESTML,
COUNT(SUPM) AS SUPML, COUNT(SUPF) AS SUPFE,
(COUNT(BESTM) COUNT(BESTF) COUNT(SUPM) COUNT(SUPF)) AS TOTAL
FROM MOVSTARDIR, DIRECTOR
WHERE MOVSTARDIR.DIRNUM=DIRECTOR.DIRNUM
AND ((BESTM IS NOT NULL) OR (BESTF IS NOT NULL) OR (SUPM IS NOT NULL)
OR (SUPF IS NOT NULL))
GROUP BY DIRNAME
HAVING (COUNT(BESTM) COUNT(BESTF) COUNT(SUPM) COUNT(SUPF)) 3
ORDER BY (COUNT(BESTM) COUNT(BESTF) COUNT(SUPM) COUNT(SUPF))DESC`
* 문제입니다 만 데이터베이스가 내가 이메일을 통해 데이터베이스를 보낼 수 있습니다 필요한 경우뿐만 아니라 * 승리 라인을 보여줍니다. 1 문제
mysql이 아닌 이러한 문제를 해결하기 위해 Acess를 사용하고 있습니다. – Uzi
정보 기술 정보 접근 권한에는 Short와 같은 데이터 형식이 없습니다. 데이터 유형에 대한 링크 http://msdn.microsoft.com/en-us/library/ms714540%28v=vs.85%29.aspx –
난 그냥이 코드를 실행 (NULL이 아닌 MVNUM SHORT NOT NULL, STNNUM SHORT NOT NULL, DIRNUM SHORT NOT NULL, BESTF TEXT, BESTM TEXT, SUPM TEXT, SUPF TEXT) CREATE TABLE 나머지 코드없이 테이블을 만들었습니다. 덧붙였다. 하지만 Alter 코드를 입력하면 오류가 발생합니다. 뭔가 변경 코드를 잘못 생각합니다. ALTER TABLE MOVSTARDIR 기본 키 추가 (MVNUM, STARNUM, DIRNUM) – Uzi