假设我有一个表,其中包含条目somefield
,age
和name
,其中name
条目是唯一的。我想获得年龄大于汤姆年龄的所有作品。不指定汤姆的年龄怎么办?
我正在寻找类似
SELECT somefield WHERE age>tom.age
我也不可以特别选择age
,所以这样的事情也不被允许:
SELECT somefield WHERE age>(SELECT age WHERE name=TOM)
最后一点:我只能在不相关的sql语句中选择somefield
。
答案 0 :(得分:1)
尝试使用这样的联接:
select p.somefield from people p
join people p1 on p1.name = 'Tom' and p.age > p1.age;
答案 1 :(得分:0)
您可以使用相关子查询:
SELECT somefield
FROM t
WHERE EXISTS (SELECT 1
FROM t2
WHERE t2.name = 'TOM' and
t2.age < t.age
);
您无需“选择”任何内容,只需在where
子句中进行比较即可。