【发布时间】:2020-05-10 16:35:10
【问题描述】:
我想获取未来的游戏列表,使用 join 并有一个过滤器“WHERE GAME_DATE > SYSDATE”
GAME_DATE,
ARENA,
HOME_TEAM_NAME,
AWAY_TEAM_NAME,
游戏桌:
GAME_DATE DATE
GAME_ID NUMBER
HOME VARCHAR
AWAY VARCHAR
团队表:
TEAM_ID NUMBER
NAME VARCHAR
CITY VARCHAR <- TO BE "ARENA"
此代码正在运行,但不是预期的结果,因为 home 和 away 属性是 NUMBER,我想将这些更改为 VARCHAR 加入 TEAM 表:
select game_date, home, away
from game
where game_date > sysdate;
但同时使用 join 和 sysdate 的这段代码不起作用:
SELECT g.game_date, t1.city "ARENA", t1.name "HOME", t2.name "AWAY"
from game g
join team t1 on g.home = t1.team_id
join team t2 on g.away = t2.team_id;
where g.game_date > sysdate;
它返回“SQL 命令未正确结束”。哪一行错了?
【问题讨论】:
-
可能在您的查询中删除此行末尾的分号:
join team t2 on g.away = t2.team_id;
标签: sql oracle join where-clause sysdate