我有一个 sql 查询,从中我得到链接到代理的所有答案的权重总和。当我指定代理 id 例如 1 时,它对我有用。
但我想知道
是否有可能在不指定代理 ID 的情况下获得与我在 db 中拥有的所有代理相关的所有答案我不知道如何使用 zend 来做到这一点?
如果我有一个代理数组并使其返回所有代理的所有权重,以便以数组形式返回特定问题的代理权重,是否可以循环 sql 查询。
表的表结构
表代理的表结构
agent_id // 所有代理 ID 1 2 3
表格答案的表格结构
answer_id // 所有答案 id 权重 // 要添加的每个代理都有总和 11 1 12 0 13 -1
表客户调查表结构
// 客户 ID // 故障 ID // 调查 ID 1 1 4 2 3 5
表故障的表结构
fault_id agent_id
// 3 3
//4 5 // 所有这些都是随机数据
表响应的表结构
// 响应 id 调查 id customer_id 回答 id response_id sq_id cs_id answer_id
表survey_question的表结构
调查 ID 问题 ID
每个答案都与一个故障相关联。和代理的错误。客户接受调查。客户反应错误。客户响应 cs_id 到 response 。问题与特定调查相关联。而且你有点困惑,花了我两天时间
- 我有 20 个随机代理 id,我需要在 mysql 中循环遍历它们并获得每个代理 id 的结果。目前,我正在为一名代理服务。
SELECT SUM( weightage )
FROM answer a
WHERE a.answer_id
IN (
SELECT r.answer_id
FROM response r, survey_question sq
WHERE r.sq_id = sq.sq_id
AND sq.survey_id =4
AND sq.question_id =28
AND r.cs_id
IN (
SELECT cs.cs_id
FROM customer_survey cs, faults f
WHERE cs.fault_id = f.fault_id
AND agent_id =1
)
)`
此查询对单个代理的输出是
Array
(
[0] => Array
(
[SUM( weightage )] => 2
)
)
我希望输出是基于代理 id 的
Array
(
// agent id 1
[1] => Array
(
[SUM( weightage )] => 2
)
// agent id 2
[2] => Array
(
[SUM( weightage )] => -1
)
// agent id 3
[3] => Array
(
[SUM( weightage )] => 5
)
// agent id 4
[4] => Array
(
[SUM( weightage )] => 4
)
// agent id 5
[5] => Array
(
[SUM( weightage )] => 11
)
)