我有一个查询,我需要返回:NIC,年龄在10到15岁之间的女性的姓名和年龄,或者是谁解释 程序中至少有一个字符,在2000年之前出生。注意:您可以使用连接的构建器
表格是:
人 - >尼克名称 ;性别 ;出生年份
解释 - >人程序;人物
因此,对于这个NIC,我使用的年龄在10到15岁的女性的姓名和年龄
SELECT to_char(sysdate,'YYYY')-p1.birth as age , p.nic , p.name
FROM people p
WHERE (p.gender ='F')
AND ( SELECT to_char(sysdate,'YYYY')-p1.birth as age
FROM people p1
WHERE (p1.age BETWEEN 10 AND 15);
或谁解释 程序中至少有一个角色出生于2000年之前
UNION
Select *
From interpret i , people p1
Where (i.people = p1.nic)
And(p1.character is not null)
and (p1 < 2000);
但特别是在代码的第一个和平时,它给了我2个主要错误
在此AND ( SELECT to_char(sysdate,'YYYY')-p1.birth as age
并在此WHERE (p1.age BETWEEN 10 AND 15);
答案 0 :(得分:0)
我看到你错过了一个结束括号。
试试这段代码
SELECT to_char(sysdate,'YYYY')-p1.birth as age , p.nic , p.name
FROM people p
WHERE (p.gender ='F')
AND p1.birth ( SELECT to_char(sysdate,'YYYY')-p1.birth as age
FROM people p1
WHERE (p1.age BETWEEN 10 AND 15));