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]'
スコアはプロジェクト名によって取得されます
ただし、バッチ係数は考慮されません