データを取得するテーブルが 3 つあります。
表 1 : assignment_status
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: 割り当て_回答
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'
どちらのクエリでも、同じ複数の行が繰り返されます。
提案、アイデア、考えはありますか?
前もって感謝します。