【发布时间】:2016-12-10 21:14:20
【问题描述】:
是否可以将子查询与内联视图相关联?
假设我们有一个简单的数据库来存储宠物主人的信息。
SELECT p.name,
p.surname,
p.num_of_pets
FROM (SELECT person.id_person id_person,
person.name name,
person.surname surname,
COUNT(DISTINCT person_pets.id_pet) num_of_pets
FROM person
LEFT JOIN person_pets
ON person.id_person=person_pets.id_person) p
WHERE EXISTS(SELECT 1
FROM person p1
WHERE p1.father=p.id_person
OR p1.mother=p.id_person
AND p.num_of_pets > 2)
我知道这是一个很奇怪的例子,但只是想说明我的意思。
当我运行这样的查询时,我得到table or view does not exist 代替子查询中出现的 p 表。
我想我误解了如何处理内联视图。
与使用“with”或“create view”创建的视图或现有表相比,在使用上是否有任何限制?
【问题讨论】:
-
Yes you can. 。关于错误。检查表名的拼写并在内联视图中添加
group by子句。
标签: sql oracle correlated-subquery