我在以下sql代码中遇到问题。我有一个这样的表:学生(st_id
,st_fname,st_lname)和访问(visit_id
,st_id,visit_cost)。
我想要做的是为每个学生选择平均值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;
在输出中,它显示“列模糊定义”错误。如果可能的话,你可以帮帮我吗?
答案 0 :(得分:1)
由于您没有回答评论中的问题,我假设<div>
<p id="feedback"><?php echo $feedback;?></p>
<form action="?" method="post">
<ul>
<li>
<label for="name">Name:</label>
<input type="text" name="name" id="name">
</li>
<li>
<label for="email">Email:</label>
<input type="text" name="email" id="email">
</li>
<li>
<label for="message">Message:</label>
<textarea id="message" name="message" cols="42" rows="9"></textarea>
</li>
<li>
<input type="submit" value="Submit">
</li>
</ul>
</form>
</div>
<?php
$to = 'xxxx@gmail.com';
$subject = 'This came from the other world';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$header = '$email';
if($_POST) {
mail($to, $subject, $message, $header);
$feedback = 'Your Message has been send';
}
?>
列来自amount_paid
表,因为visitings
表看起来像维度表。
student
错误是由两个表中的column ambiguity
列引起的。所以SQL不知道你指的是哪个表st_id
。试试这个。
st_id
请参阅此处的SQLFiddle演示