2017-04-13 62 views
1

我得到這個錯誤訊息 '缺少右括號' 作爲使用下面的SQL查詢:如何列出其會員需要續約的會員姓名和地址?

SELECT G_MEMBERSHIP.MEMBER_ID, DATE_ADD(G_MEMBERSHIP.RENEWAL_DATE,INTERVAL 1 YEAR) WHERE G_MEMBERSHIP.RENEWAL_DATE > CURDATE() 
FROM G_MEMBERSHIP 
INNER JOIN G_MEMBER 
ON G_MEMBERSHIP.MEMBER_ID = G_MEMBER.MEMBER_ID 
+1

標籤與你的問題你正在使用的數據庫。 –

+0

我正在使用Oracle SQL開發人員 –

+0

根據你使用的函數MySQL –

回答

0
SELECT G_MEMBERSHIP.MEMBER_ID,add_months(G_MEMBERSHIP.RENEWAL_DATE,12) 
FROM G_MEMBERSHIP 
INNER JOIN G_MEMBER 
ON G_MEMBERSHIP.MEMBER_ID = G_MEMBER.MEMBER_ID 
WHERE G_MEMBERSHIP.RENEWAL_DATE > current_date 

附:

+ INTERVAL '1'是有風險的

例如

select date '2012-02-29' + INTERVAL '1' YEAR from dual; 

ORA-01839:日期無效月指定

select add_months (date '2012-02-29',12) from dual 

2013年2月28日00:00:00

+0

很酷的人,感謝很多,像魅力一樣工作! –

1

WHERE走後JOIN

SELECT G_MEMBERSHIP.MEMBER_ID, DATE_ADD(G_MEMBERSHIP.RENEWAL_DATE,INTERVAL 1 YEAR) 
FROM G_MEMBERSHIP 
INNER JOIN G_MEMBER 
    ON G_MEMBERSHIP.MEMBER_ID = G_MEMBER.MEMBER_ID 
WHERE G_MEMBERSHIP.RENEWAL_DATE > CURDATE() 
+0

行,但仍然缺少右括號什麼問題? –