我从 3 个表中提取数据
表 1:任务状态
primary_key
test_group_id | s_id | date_taken | status
q1 | 123 | 2012-08-13 | completed
表 2:question_bank
foreign key unique key |
group_id | q_id | question
q1 | 1 | What is your name?
q1 | 2 | Where were you born?
表 3:assignment_answers
foreign key
g_id | q_id | s_id | s_answer
q1 | 1 | 123 | Mark Johnson
q1 | 2 | 123 | Florida
现在我正在尝试显示相应问题的答案。我面临的问题是返回的结果集循环多次。
例如,如果 question_bank
和 assignment_answers
各有 2 条记录,则结果集有 4 条记录;如果两者都有 4 条记录,则结果集有 16 条记录。所以这个数字正在平方。这使我确信我以错误的方式拉动它。以下是我正在使用的查询:
SELECT
*
FROM
assignment_status s,
question_bank b,
assignment_answers a
WHERE
s.test_group_id = b.group_id = a.g_id = 'q1'
我也试过
SELECT
*
FROM
question_bank b,
assignment_answers a
WHERE
b.group_id = a.g_id
AND b.group_id = 'q1'
AND a.g_id = 'q1'
两个查询都会导致重复相同的多行。
有什么建议、想法、想法吗?
提前致谢。
最佳答案
我认为您缺少 question_bank b、assignment_answers a 的条件
SELECT
*
FROM
assignment_status s,
question_bank b,
assignment_answers a
WHERE
s.test_group_id = b.group_id = a.g_id = 'q1' AND b.q_id = a_q.id
关于php - 两个表循环多次的结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11933141/