Извинитесь заранее, я новичок в (My) SQL - это должен быть простой вопрос для экспертных администраторов баз данных, но я даже не знаю, где начать находить решение вообще. Я даже не уверен, правильно ли я применил LEFT JOIN.MySQL: ограничение запроса или подзапрос (в левом/внутреннем соединении?)
My (DB) структура довольно проста:
У меня есть testsuite
с, и несколько testcase
s связаны друг с testsuite
("логических объектов") Во время тестовый кик-офф, я создаю запись для каждого testsuite
в таблице testsuiteinstance
- и одна запись в testcaseinstance
для каждого testcase
.
Моя цель состоит в том, чтобы принести последние 10 testcaseinstance
сек всех testcase
с принадлежащим к определенному testsuite
Это запрос, который я использую для извлечения всехtestcaseinstances
:
SELECT * FROM testcaseinstance AS tcinst
LEFT JOIN testsuiteinstance tsinst ON tsinst.id=tcinst.testsuiteinstance_id
LEFT JOIN testsuite ts ON ts.id=tsinst.testsuite_id
WHERE ts.id = 349 ORDER BY tcinst.id DESC;
Итак, давайте скажем, у меня два testcase
s в testsuite
и оба testcase
были выполнены 100 раз. Этот запрос дает мне 200 строк. Если я поставлю «LIMIT 10» в конце, я получу только последние 10 строк для одного testcase
, но я хочу 20 строк (последние 10-10 принадлежат двум testcase
s)
Я был бы признателен какое-нибудь описание рядом с запросом на решение или указатель на «учебник», я могу начать изучать связанные с темой (что бы это ни было: D)
Заранее благодарен!
Извините, но ваши отступы чисто поврежден мозг :-) – TMS
Ну, они говорят, что красота в глазах T он смотрит. – Strawberry
Ну, в случае вашего сообщения это может быть * только * там: D – TMS