Mysql 连接两个表时使用的条件

Mysql 连接两个表时使用的条件,mysql,left-join,conditional-statements,Mysql,Left Join,Conditional Statements,我正在使用下面的查询,但没有得到确切的结果。在这个查询中,我使用了两个条件,第一个是两个表中的公共值,即学生费。第二个是检查与变量“cid”的匹配 使用这两个条件有什么不对吗。(我认为回答时不需要表的详细信息)是的,您的查询和条件将完全正常工作,但问题可能在于$\u GET 1) 首先检查是否设置了$\u GET['cid'],这意味着检查索引是否存在 2) 尝试将其存储在另一个变量中,如$value=$\u GET[“cid”] 3) 如果这仍然不起作用,您将希望用filter\u输入和inp

我正在使用下面的查询,但没有得到确切的结果。在这个查询中,我使用了两个条件,第一个是两个表中的公共值,即学生费。第二个是检查与变量“cid”的匹配


使用这两个条件有什么不对吗。(我认为回答时不需要表的详细信息)

是的,您的查询和条件将完全正常工作,但问题可能在于$\u GET

1) 首先检查是否设置了$\u GET['cid'],这意味着检查索引是否存在

2) 尝试将其存储在另一个变量中,如$value=$\u GET[“cid”]

3) 如果这仍然不起作用,您将希望用filter\u输入和input\u post替换它

     $valuee=filter_input(INPUT_POST,"cid")

然后支付费用。class_id='$valuee'

这是使用
外部联接的正确方法。将检查左联接表
fees
中的值的条件移动到
WHERE
子句是错误的,因为它会将
左联接
更改为
内部联接
,唯一的例外是您的
金额(费用金额)作为总支付金额
,我从中引用:服务器可以从每个组中自由选择任何值,因此,除非它们相同,否则选择的值是不确定的。这是你的问题吗?这个修改过的代码有效吗<代码>选择*,student.student\u id作为studid,sum(fees\u amount)作为从学生处支付的总费用。student\u id=fees.student\u id其中fees.class\u id=“$\u GET[cid]”按学生分组。student\u id按学生姓名排序
对于相同的
studend\u id
学生表中的所有列都应相同。如果您得到的数据超出预期,我假设它必须是
费用
表中列中的数据。您应该添加最少的示例(两个列最少的表)和所需的结果。这将使任何人都更容易得到帮助。
     $valuee=filter_input(INPUT_POST,"cid")