値が有効なレコードに配置されていないというエラーが表示され続けます。MySQLでクエリを正常に実行しましたが、コードで何かを見落としていると思います。
query = QtSql.QSqlQuery("select patient_id," +
"(SUM(IF(uom_id = 1, value, 0)) / SUM(IF(uom_id = 1, 1, 0))) AS `Average radius`," +
"(SUM(IF(uom_id = 2, value, 0)) / SUM(IF(uom_id = 2, 1, 0))) AS `Average Volume`," +
"(SUM(IF(uom_id = 3, value, 0)) / SUM(IF(uom_id = 3, 1, 0))) AS `Average SA`" +
"from measurements" +
"WHERE image_id = " + self.dbImage.id.toString() +
"AND status = 'A'" +
"GROUP BY patient_id", self.db)
query.next()
radius_acc = query.value(1).toDouble()
volume_acc = query.value(2).toDouble()
SA_acc = query.value(3).toDouble()
print('average of previously accepted measurements includes ' +
'radius = ' + str(radius_acc) +
'volume = ' + str(volume_acc) +
'SA = ' + str(SA_acc))
具体的には、QSqlQueryにクエリを入力する方法に問題があるかどうかを知りたいですか?または、value(n)メソッドを誤って使用しようとしていますか?
どちらも当てはまらない場合は、クエリでself.dbImage.id.toString()に間違ったパラメーターを使用していると思います。その場合は、明日同僚に質問します。