2016-02-16 3 views
0

У меня есть следующие таблицы: Вопрос, Ответ, User_AnswersВыбор содержимого из нескольких таблиц и отображения

Im пытается получить запрос, где я могу распечатать вопрос, ответы и ответ, что пользователь выбрал.

До сих пор Iv удалось распечатать вопрос с пользовательского ответа, но ничего не в порядке.

Таблицы с данными выборки:

**Question Table** 

id Test_ID QText 
-------------------------------------------- 
1  1  What colour is the sky? 


**Answer Table** 

id Question_ID AText 
------------------------------- 
1  1   Green 
2  1   Blue 
3  1   Red 
4  1   Yellow 


**User_Answers Table** 

id User_ID Question_ID Answer_ID 
--------------------------------------------------- 
1  1   1    2 

**Correct_Answers Table** 

id Question_ID Answer_ID 
--------------------------------------------------- 
1   1   1    

Expected Outcome : 

Question xxxxxxx 



Answer Your Answer Correct Answer 
------------------------------------------ 
    1        x 
    2   x     
    3   
    4 
+2

'ORDER BY q.id' в конце вашего SQL получите результаты в порядке , – JNevill

+0

@JNevill Nope, что не сделал это – JohnyChew

+0

Так как может быть много вопросов, вы собираетесь фильтровать по id вопроса? Или этот запрос должен возвращать только вопросы, на которые пользователь выбрал ответ? Так что вопросы, которые он не ответил, не нужны? –

ответ

2
SELECT 
    q.QText, q.id AS QId, ua.id, qa.AText, 
    case when qa.ID = ua.Answer_ID then 'x' else NULL end as IsUserAnswer 
FROM user_answers ua 
INNER JOIN question q ON q.ID = ua.Question_ID 
INNER JOIN answer qa ON qa.Question_ID = q.ID 
WHERE ua.User_ID=1 
ORDER BY QId, qa.ID 

у пропустил присоединиться от questions к answers по question_id

+0

У меня есть работа, за исключением того, что вопросы вышли из строя. Когда он печатает в php, он показывает первый вопрос, затем следующий, а затем ответы на первый. Его всегда один вопрос впереди. – JohnyChew

+0

Heres изображение того, что я имею в виду - http://imgur.com/hN2XGUA – JohnyChew

+0

Это полный PHP-код в вопросительном посте? –

Смежные вопросы