powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка из трех таблиц одним запросом
4 сообщений из 4, страница 1 из 1
Выборка из трех таблиц одним запросом
    #38803363
Доброго времени суток!
У меня есть такие вот таблицы



Выборка из трех таблиц одним запросом
В PostgreSql я не сильно силен
Нужно придумать такой запрос чтоб выбиралось одно поле из таблицы TESTS
одно поле из таблицы TESTS_QUESTIONS
И все поля из таблицы ANSWER_TESTS в которых TESTS_ANSWER_QUESTION_ID = TEST_QUESTION.ID
Накалякал я вот такое вот чудо которое как всегда работает не так как нужно!!!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT ts.assembled_test_name test_name,
ts.id AS test_id, 
ts.assembled_test_video AS test_video, 
tq.id AS question_id, 
tq.tests_question_progress_solutions AS question_progress_solution, 
tq.tests_question AS tests_question, 
ant.id AS answer_id,
ant.tests_answer_text AS answer_text 
FROM tests ts 
INNER JOIN tests_questions tq 
ON tq.assembled_test_id_id = ts.id
INNER JOIN answer_tests ant 
ON ant.tests_answer_question_id = tq.id 
WHERE assembled_test_topic_id = topic AND assembled_test_class = class 
ORDER BY tq.id ASC 
LIMIT 1


Данный код выводи по одной записи из всех таблиц
Если убрать LIMIT 1 То он выводит все записи из всех таблиц!!!
Подскажите как исправить??? Или может как написать другой вариант кода
...
Рейтинг: 0 / 0
Выборка из трех таблиц одним запросом
    #38803813
Накаляк вот такой вот код
Код: sql
1.
2.
3.
4.
5.
6.
SELECT *
FROM answer_tests ant 
JOIN (SELECT * FROM tests_questions ORDER BY id  LIMIT 1)AS tq   
ON tq.id = ant.tests_answer_question_id
JOIN (SELECT * FROM tests)AS ts 
ON ts.assembled_test_topic_id = 1 


Но все равно не совсем то
Результат получается Список словарей В которых повторяются все поля Что мне тут переделать чтоб в результате был одни словарь с TESTS_QUESTIONS и TESTS а второй словарь с ANSWER_TESTS
...
Рейтинг: 0 / 0
Выборка из трех таблиц одним запросом
    #38804585
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажите код таблиц
...
Рейтинг: 0 / 0
Выборка из трех таблиц одним запросом
    #38804975
crause,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
  
-------------------------------ANSWER_QUESTION------------------------------------------------------

 id | tests_answer_question_id |              tests_answer_text               | tests_answer_correct 
----+--------------------------+----------------------------------------------+----------------------
  1 |                        1 | ответ 1                                     +| f
    |                          |                                              | 
  2 |                        1 | ответ 2                                     +| f
    |                          |                                              | 
  3 |                        1 | ответ 3                                     +| t
    |                          |                                              | 
  4 |                        2 | ответ 1                                     +| f
    |                          |                                              | 
  5 |                        2 | ответ 2                                     +| t
    |                          |                                              | 
  6 |                        2 | ответ 3                                     +| f
    |                          |                                              | 
  7 |                        3 | ответ 1 правельный                          +| f
    |                          |                                              | 
  8 |                        3 | ответ 2                                     +| f
    |                          |                                              | 
  9 |                        3 | ответ 3                                     +| f
    |                          |                                              | 
 10 |                        3 | ответ 4                                     +| t
    |                          |                                              | 
 11 |                        3 | ответ 5                                     +| f
    |                          |                                              | 
 12 |                        4 | ответ 1                                     +| f
    |                          |                                              | 
 13 |                        4 | ответ 2                                     +| f
    |                          |                                              | 
 14 |                        4 | ответ 3                                     +| f
    |                          |                                              | 
 15 |                        4 | не один                                     +| t
    |                          |                                              | 
 16 |                        5 | ответ 1                                     +| f
    |                          |                                              | 
 17 |                        5 | ответ 2                                     +| f
    |                          |                                              | 
 18 |                        5 | ответ 3                                     +| f
    |                          |                                              | 
 19 |                        5 | ответ 4                                     +| t



--------------------------------------TESTS_QUESTIONS -------------------------------------

 id |  tests_question_progress_solutions   |     tests_question     | assembled_test_id_id 
----+--------------------------------------+------------------------+----------------------
  2 | Ход решения второго вопроса         +| Вопрос второй         +|                    1
    |                                      |                        | 
  3 | Ход решения                         +| Вопрос третий         +|                    1
    |                                      |                        | 
  1 | Ход решения                         +| Вопрос</p>            +|                    1
    |                                      |                        | 
  4 | Xод решения                         +| Вопрос 4              +|                    1
    |                                      |                        | 
  5 | Xод решения                         +| вопрос 5              +|                    1


---------------------------------------------------------------TESTS-------------------------------------------------------------------------------

 id | assembled_test_name | assembled_test_topic_id | assembled_test_level | assembled_test_class | assembled_test_type |   assembled_test_video   
----+---------------------+-------------------------+----------------------+----------------------+---------------------+--------------------------
  1 | Пробный тест        |                       1 |                    1 |                    7 |                   2 | Ссылка на видео youtube 
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка из трех таблиц одним запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]