我有两个包含字段和值的表:
TABLE 回复
Id Corp_resp Id_perg Id_quest
12 0,2 1 1
13 0,5 2 1
14 0,7 3 1
15 0,2 4 1
16 0,3 5 1
17 0,6 6 1
表格菜单
Id_perg percentagemadministrador Id_quest
1 0.5 1
2 0.4 1
3 0.3 1
4 0,2 1
5 0,1 1
6 0,8 1
我想将 id_quest
关联到 id_perg
并将 corp_resp
与最后 10 行的 percentagemadministrador
相乘表 respostas
total=SUM(corp_resp*percentagemadministrador)
表的最后 10 行。
<?php
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("teste") or die(mysql_error()); // selecciona a database do server escolhido
//something like that
$query ="SELECT SUM(menu.percentagemadministrador*respostas.corp_resp) as TOTAL
FROM respostas
INNER JOIN menu
WHERE respostas.id_perg=menu.id_perg
AND respostas.id_quest=menu.id_perg
LIMIT id_perg=10";
$resultado = mysql_query($query) or die(mysql_error());
if($row = mysql_fetch_array($resultado)){
echo " <center> Final: </center> ".$row['TOTAL'];
} ?>
你能帮忙吗?
最佳答案
我认为您应该使用子选择来仅获取第 10 个 id
SELECT SUM(menu.percentagemadministrador*respostas.corp_resp) as TOTAL
FROM respostas INNER JOIN menu
WHERE respostas.id_perg=menu.id_perg
AND respostas.id_quest=menu.id_perg
AND id_perg in (select id_perg from respostas order by id_perg limit 10);
如果不工作,我们可以尝试使用内部连接
SELECT SUM(menu.percentagemadministrador*respostas.corp_resp) as TOTAL
FROM respostas
INNER JOIN menu on ( respostas.id_perg=menu.id_perg
AND respostas.id_quest=menu.id_perg)
INNER JOIN ( select id_perg from respostas order by id_perg limit 10) as t2
on (respostas.id = t2. id)
关于php - 显示两个不同列的值的查询php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947538/