선호 명시 가입 표기법과 GROUP BY를 사용하고 HAVING 절, 당신은 사용할 수 있어야합니다 :
SELECT i.itemid, i.name, i.price
FROM Item i
JOIN ItemComment c ON i.itemid = c.itemid
GROUP BY i.itemid, i.name, i.price
HAVING MAX(c.dateCommentPosted) < (ADD_MONTHS(SYSDATE, -6));
또한 WITH 절 또는 직접의를 사용하거나, 하위 쿼리를 작성할 수
FROM 목록에서 각 항목에 대한 의견이 게시 된 가장 최근 날짜를 계산 한 다음이를 항목 테이블과 조인합니다.
의견이없는 항목을 선택해야하는지 여부를 고려할 수 있습니다.
Max(c.dateCommentPosted)
도 표시/선택하고 싶습니다. 그게 선택의 여지가 있니? select 절에 추가하고 GROUP BY 절에 dateCommentPosted
을 추가하면 올바른 것입니까?
는 GROUP BY 절을 SELECT 절에 추가 있지만 :
SELECT i.itemid, i.name, i.price, MAX(c.dateCommentPosted) AS dateCommentPosted
FROM Item i
JOIN ItemComment c ON i.itemid = c.itemid
GROUP BY i.itemid, i.name, i.price
HAVING MAX(c.dateCommentPosted) < (ADD_MONTHS(SYSDATE, -6));
당신은 AS 아웃을 떠날 것을 선호 할 수도 있습니다. AFAIK, 오라클은 테이블 별칭에서 AS를 절대적으로 거부합니다 (그래서 거기에 버렸습니다). 그러나 선택 목록의 '별칭 (column alias)'에서는이를 수용합니다 (요구하지는 않습니다).
덧붙여 말하자면 SQL 표준 및 '모든'SQL DBMS는 HAVING 절에서 집계 비교가 필요하며 HAVING 절은 GROUP BY 절이 필요합니다. 그러므로, GBH — 그룹들에 의해/Gburvous Bodily Harm.
Max (c.dateCommentPosted)도 표시/선택하고 싶습니다. 그게 선택의 여지가 있니? select 절에 추가하고 GROUP BY 절에 dateCommentPosted를 추가하면 올바른 것입니까? – TPR