create or replace view v_amount
as
select s.s_name, s.s_fname, b.fee
from student s, amount b
where s.s_add = 'Peshawar'
order by s.s_name;
答案 0 :(得分:0)
你需要明确一个关系1/1
你有一些加入S + B的领域吗?查看key
字段
Create or replace view v_amount as select s.s_name,s.s_fname,b.fee
from student s, amount b where s.s_add= 'Peshawar' AND s.key=b.key order by s.s_name;
如果您不理解为每个表和所有字段发布您的CREATE
答案 1 :(得分:0)
您没有加入条款,因此您正在获得CROSS JOIN。
你需要像
这样的东西WHERE s.key = b.related_key
使用您正在使用的语法。
不确定您使用的数据库,但如果支持,最好使用ANSI连接。然后你会得到一个错误,明确问题是什么。因此,如果它受支持,您的查询将更好地编写如下:
SELECT s.s_name, s.s_fname, b.fee
FROM student s
INNER JOIN amount b
ON s.key = b.related_key --you missed out this bit
WHERE s.s_add = 'Peshawar'
ORDER BY s.s_name;
如果以这种方式编写,您将收到一条错误消息,告诉您在运行它时缺少ON子句。