EDIT:Mysql: тот же запрос, разные результаты
Извините, что не читаемый запрос, я был в крайнем сроке. Мне удалось решить проблему, разбив этот запрос на два меньших и выполнив некоторую бизнес-логику на Java. Все еще хотите знать, почему этот запрос может случайным образом возвращать два разных результата.
Таким образом, он случайным образом возвращает все ожидаемые результаты, в другое время - только половину. Я заметил, что когда я пишу это объединение за соединение и выполняю после каждого присоединения, в конце он возвращает все ожидаемые результаты. Так что блуждайте, если есть какая-то память в MySql или другое ограничение, которое не принимает целые таблицы в соединениях. Также читайте по неопределенным запросам, но не знаете, что сказать.
Пожалуйста, помогите, спросите, требуется ли разъяснение, и заблаговременно благодарим вас.
RESET QUERY CACHE;
SET SQL_BIG_SELECTS=1;
set @displayvideoaction_id = 2302;
set @ticSessionId = 3851;
select richtext.id,richtextcross.name,richtextcross.updates_demo_field,richtext.content from
(
select listitemcross.id,name,updates_demo_field,listitem.text_id from
(
select id,name, updates_demo_field, items_id from
(
SELECT id, name, answertype_id, updates_demo_field,
@student:=CASE WHEN @class <> updates_demo_field THEN 0 ELSE @student+1 END AS rn,
@class:=updates_demo_field AS clset FROM
(SELECT @student:= -1) s,
(SELECT @class:= '-1') c,
(
select id, name, answertype_id, updates_demo_field from
(
select manytomany.questions_id from
(
select questiongroup_id from
(
select questiongroup_id from `ticnotes`.`scriptaction` where [email protected] and questiongroup_id is not null
) scriptaction
inner join
(
select * from `ticnotes`.`questiongroup`
) questiongroup on scriptaction.questiongroup_id=questiongroup.id
) scriptgroup
inner join
(
select * from `ticnotes`.`questiongroup_question`
) manytomany on scriptgroup.questiongroup_id=manytomany.questiongroup_id
) questionrelation
inner join
(
select * from `ticnotes`.`question`
) questiontable on questionrelation.questions_id=questiontable.id
where updates_demo_field = 'DEMO1' or updates_demo_field = 'DEMO2'
order by updates_demo_field, id desc
) t
having rn=0
) firstrowofgroup
inner join
(
select * from `ticnotes`.`multipleoptionstype_listitem`
) selectlistanswers on firstrowofgroup.answertype_id=selectlistanswers.multipleoptionstype_id
) listitemcross
inner join
(
select * from `ticnotes`.`listitem`
) listitem on listitemcross.items_id=listitem.id
) richtextcross
inner join
(
select * from `ticnotes`.`richtext`
) richtext on richtextcross.text_id=richtext.id;
Это совершенно нечитаемо. Я даже не могу сказать, есть ли два запроса. Пожалуйста, отформатируйте его лучше. –
Его единственный вопрос, можете ли вы его прочитать сейчас? –