ホームページ  >  記事  >  バックエンド開発  >  データベースでの sum() 計算の使用にエラーはありますか?

データベースでの sum() 計算の使用にエラーはありますか?

WBOY
WBOYオリジナル
2016-06-23 14:17:311275ブラウズ

2 つのテーブルを設定しました。テーブル 1 はプロジェクト テーブル tb_xm で、主にプロジェクト バッチ xm_pcid とプロジェクト名 xm_name が含まれます。テーブル 2 はプロジェクト スコアリング テーブルで、主にプロジェクト名 xmpf_xm、スコアリング ジャッジ、およびプロジェクト評価 xmpf_small_zf が含まれます。ここで、各審査員が与えた合計スコアを計算したいと考えていますが、次のステートメントを使用した後に得られた結果は正しくありません。たとえば、a という名前のプロジェクトの場合、専門家が与えたスコアは、xmpf_small_zf 列の値が 0 です。それぞれ、1、1ですが、得られた結果は8ですが。スコアは一般的に6ポイント高いですが、何が間違っているのかわかりません。見てみるのを手伝ってください!

$xmpc_id='4';/******************************************/$query1=mssql_query("select * from tb_xm where xm_pcid='$xmpc_id'");		while($myrow1=mssql_fetch_assoc($query1)){		echo $myrow1[xm_name];		$xm_name = $myrow1['xm_name'];		$query2=mssql_query("select sum(xmpf_small_zf) as zf from tb_xmpf where xmpf_xm='$myrow1[xm_name]'");					//echo $query2;		echo "总分:";		while($myrow2=mssql_fetch_assoc($query2)){		 echo $myrow2[zf];		 $query3=mssql_query("update tb_xm set xm_zf='$myrow2[zf]' where xm_name='$myrow1[xm_name]'");		 }


ディスカッションに返信(解決策)

条件が不十分です
select * from tb_xm where xm_pcid='$xmpc_id'
バッチでプロジェクト名を取得すると、バッチとプロジェクト名が一致していないことがわかります1 対 1 の対応
1 つを知ることができます プロジェクト名は異なるバッチに属することができます
select sum(xmpf_small_zf) as zf from tb_xmpf where xmpf_xm='$myrow1[xm_name]'
スコアはプロジェクト名によって取得されます
ただし、バッチ係数は考慮されません

mysql_fetch_assoc

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。