gpt4 book ai didi

mysql - oracle sql 列定义不明确错误

转载 作者:行者123 更新时间:2023-11-29 11:45:53 24 4
gpt4 key购买 nike

我在以下 sql 代码中遇到问题。我有一个如下表:Student(st_id,st_fname,st_lname) 和 Visitings(visit_id,st_id,visit_cost )。

我想要做的是选择每个学生的平均访问成本(超过 500),然后选择 st_fname 和 st_lname。我编写了以下代码:

select avg (v.visit_cost) as average_cost, s.st_fname, s.st_lname   
from student s
inner join visitings v on s.st_id=v.st_id
group by st_id
having avg(v.visit_cost)>=500;

在输出中,它显示“列定义不明确”错误。如果可能的话你能帮我吗?

最佳答案

由于您没有回答评论中的问题,我假设 amount_paid 列来自 visitings 表,因为 student 表看起来就像维度表一样。

列歧义错误是由于两个表中都存在的st_id列造成的。所以 SQL 不知道您指的是哪个表的 st_id 。试试这个。

select avg (v.visit_cost) as average_cost, s.st_fname, s.st_lname   
from student s
inner join visitings v on s.st_id=v.st_id
group by s.st_id
having avg(v.amount_paid)>=500;

请在此处查看 SQLFiddle 演示

http://sqlfiddle.com/#!9/93027a/2

关于mysql - oracle sql 列定义不明确错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34961331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com