2017-02-01 4 views
0

У меня есть 2 таблицыоракул - SQL запрос

таблица А имеет

id, ans_id, ans_value 
1 12  social test 
2 15  math test 
3 14  English test 

Таблица B имеет

id, quest_id, question_value 
3 10  ELA 
4 11  history 
5 12  math counts 

Я знаю, что вопрос ID 10 из таблицы B равно ans_id 14 в таблице A вопрос id 11 из таблицы B равен ans_id 12 в таблице A вопросник 12 из таблицы B равен ans_id 15 в таблице A

поэтому мой выходной результат должен отображать

quest_id quest_value ans_id, ans_value 
10   ELA   14  English Test 
11   History  12  Social Test 
12   Math Counts 15  Math Test 

Пожалуйста, помогите мне с SQL. спасибо

+0

Я не вижу способа, чтобы присоединиться к этим двум таблицам. Есть ли какая-нибудь другая информация, которая может помочь здесь? –

+1

** Я знаю ** слишком общий, и мы называем ** фиксированным кодом ** aka ** bad **. У вас должна быть логика «связывать» aka 'join' две таблицы. –

+0

Ваш компьютер должен * знать * это тоже. –

ответ

3

В вашей текущей схеме отсутствует информация, касающаяся двух таблиц. В отсутствие этого вы могли бы создать таблицу моста, скажем tablec, которая связывает вопросы в tableb с ответами в tablea, например.

quest_id | ans_id 
10  | 14 
11  | 12 
12  | 15 

Тогда вы могли бы присоединиться к следующим образом:

SELECT t1.quest_id, 
     t1.question_value AS quest_value, 
     t3.ans_id, 
     t3.ans_value 
FROM tableb t1 
INNER JOIN tablec t2 
    ON t1.quest_id = t2.quest_id 
INNER JOIN tablea t3 
    ON t2.ans_id = t3.ans_id 
+0

И теперь для сложной части: * создайте этот стол моста * :-) – dnoeth

+0

@dnoeth - скорее, «спросите OP о таблице мостов». – mathguy

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