4 개의 테이블이 있습니다. 하나는 아티스트라고합니다. 여기에 테이블 구조 : 다른 테이블 작업SQL에 관한 질문입니다.
workId title copy medium description artist ID
트랜스 테이블이라고
artistID lastname firstname nationality dateofbirth datedcease
는
TransactionID Date Acquired Acquistionprice datesold
askingprice salesprice customerID workID
고객 테이블
customerID lastname Firstname street city state
zippostalcode country areacode phonenumber email
첫 번째 질문은 작가가 가지고있는 것입니다 가장 작품 예술가의 수와 얼마나 많은 예술가 작품이 팔렸다. 내가 그렇게 어떻게? -
내 SQL 쿼리
SELECT *
FROM dtoohey.artist A1
INNER JOIN
(SELECT
COUNT(W1.ArtistID) AS COUNTER, artistID
FROM dtoohey.trans T1
INNER JOIN dtoohey.work W1 ON W1.workid = T1.Workid
GROUP BY W1.artistID) TEMP1 ON TEMP1.artistID = A1.artistID
WHERE
A1.artistID = TEMP1.artistId
ORDER BY
COUNTER desc;
내가 전체 테이블을 얻을 근데 저는이 가장 높은 횟수 만 첫 번째 행을 표시하려면 아래
qns 2는 가장 높은 평균 이익 (즉, 예술가가 작품을 판매 할 때마다 얻는 수익의 평균)이되는 판매이며, 그 금액은 얼마입니까? 내가 그것을 실행할 수 아니에요
SELECT
A1.artistid, A1.firstname
FROM
(SELECT
(salesPrice - AcquisitionPrice) as profit,
w1.artistid as ArtistID
FROM dtoohey.trans T1
INNER JOIN dtoohey.WORK W1 ON W1.workid = T1.workid) TEMP1
INNER JOIN
dtoohey.artist A1 ON A1.artistID = TEMP1.artistID
GROUP BY
A1.artistid
HAVING
MAX(PROFIT) = AVG(PROFIT);
아래
내 SQL 쿼리는
MySQL과 오라클이 유형을 해결하기 위해 다른 구문을 사용하여 문제의. RDBMS의 두 가지 맛을 모두 해결할 수있는 답을 찾으십니까? – APC