使用php检索mysql中两个不同表列字段的总和
嘿,伙计们,我被这个问题难住了 我有两个不同的表,它们具有相同的列名,但具有主键id的值不同 表1:q1 表2:q2 现在我想要的是对两个不同表的值求和,这两个表具有相同的字段名,但ID不同 例如,我希望添加id=4的表q1的置信域值,即1,以及id=1的表q2的置信域值,即3 我尝试使用union,但没有得到结果使用php检索mysql中两个不同表列字段的总和,php,mysql,sql,Php,Mysql,Sql,嘿,伙计们,我被这个问题难住了 我有两个不同的表,它们具有相同的列名,但具有主键id的值不同 表1:q1 表2:q2 现在我想要的是对两个不同表的值求和,这两个表具有相同的字段名,但ID不同 例如,我希望添加id=4的表q1的置信域值,即1,以及id=1的表q2的置信域值,即3 我尝试使用union,但没有得到结果 $mresult=mysqli_query($con,"select sum(sm) from (select confidence sm from q1 where id='$
$mresult=mysqli_query($con,"select sum(sm) from
(select confidence sm from q1 where id='$id'
union
select confidence sm from q2 where id='$id') ss");
while ($row1 = mysqli_fetch_assoc($mresult)){
echo "Sum ". $row1['ss'];
}
我收到了警告
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, object given in .... on line 89
请帮我解答要完成您所要查找的内容,您需要的查询是
SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence`
FROM `q1`, `q2`
WHERE `q1`.`id` = 4
AND `q2`.`id` = 1
您可以将其插入PHP并在适当的地方替换变量
$mresult=mysqli_query($con,"SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence` FROM `q1`, `q2`WHERE `q1`.`id` = '{$q1id}' AND `q2`.`id` = '{$q2id}'");
while ($row1 = mysqli_fetch_assoc($mresult)){
echo "Sum ". $row1['TotalConfidence'];
}
您正在混合mysqli和mysqlPlease。它们不再得到维护,而是在使用。看到了吗?而是学习,并使用或。将帮助您决定哪一个。Kamehameha即使在纠正之后我也没有得到任何结果Jay Blanchard现在我使用mysqli但仍然没有得到任何结果。不,现在我没有得到任何警告Jay Blanchard它在mysql中正常工作,但不与php一起工作。我认为phpAre中的
q1
id
='$q1id'和q2
id
='$q2id'存在一些问题。您是否正确设置了这两个变量?检查我的更新以了解另一个语法更改。您是否有任何错误?是的,第一次我尝试了q1.id='$q1id'和q2.id='$q2id'我没有得到任何输出第二次我尝试了q1.id='$id'和q2.id='$id'我没有得到任何输出第三次我尝试了q1.id='{$q1id}'和q2.id='{$q2id}'我没有得到任何输出,我尝试了q1.id='$q1.id'和q2.id='$q2.id'我得到了输出,因为2您没有向我们展示如何设置要在查询中使用的id变量。你能更新你原来的帖子吗?问题解决了这是我的错误,我用$a1和$a2传递值。所以它是q1.id='$a1'和q2.id='$a2'输出3,这是正确的。谢谢
SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence`
FROM `q1`, `q2`
WHERE `q1`.`id` = 4
AND `q2`.`id` = 1
$mresult=mysqli_query($con,"SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence` FROM `q1`, `q2`WHERE `q1`.`id` = '{$q1id}' AND `q2`.`id` = '{$q2id}'");
while ($row1 = mysqli_fetch_assoc($mresult)){
echo "Sum ". $row1['TotalConfidence'];
}