2016-12-26 3 views
-1

Для многоязычного Quiz-приложения я добавил новую таблицу (Answer_Lv) в мою базу данных, которая содержит значения, которые необходимо перевести. В моем случае я хочу получить ответы на первый вопрос с идентификатором 1. Здесь я присоединяюсь к 2 таблицам: Answer and Answer_Lv. Правильный результат должен быть 4 строки (4 возможных ответа), но я получаю 16 строк.SQLite-запрос с двумя таблицами отображает результат 4 раза

Это мой запрос:

SELECT * 
FROM Answer, Answer_Lv 
WHERE Answer.question_id = 1 
AND Answer.question_id = Answer_Lv.question_id 

Это результат:

enter image description here

+0

как много записей есть в каждой таблице для question_id = 1? – GurV

+0

Есть 4 записи для question_id = 1 –

+0

4 в какой таблице? – GurV

ответ

1

По взглядов этого, вы должны присоединиться _id колонки тоже:

SELECT * 
FROM Answer a, Answer_Lv b 
WHERE a.question_id = 1 
AND a.question_id = b.question_id 
AND a._id = b._id; 
+0

@Deno Попробуйте? – GurV

+0

Да, спасибо. Это работает. Но в предложении WHERE это должно быть «a.question_id». Кстати: как вы думаете, это хороший способ поддерживать многоязычность? Со второй таблицей значений, которые необходимо перевести –

+0

Спасибо. Вы должны опубликовать это как новый вопрос. Есть много хороших людей, готовых помочь вам. – GurV

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