Игорь Горбонос wrote:
SELECT
msg."tid" AS "mid",
msg."gid",
0 AS "tid",
0 AS "pid",
msg."dte",
'<<Темы нет в локальной БД>>' AS "usernick",
msg."subject",
3 AS "uclass",
-1 AS "uid", 0 AS "ismarked", 0 AS "isread"
FROM
"messages" msg
WHERE
msg."mid" IN
(SELECT
Min(msga."mid")
FROM
("messages" msga
LEFT JOIN "messages" msgb on msga."pid" = msgb."mid")
LEFT JOIN "messages" msgc on msga."tid" = msgc."mid"
WHERE
msga."tid" <> 0 AND msgb."mid" IS Null AND msgc."mid" IS Null
AND msga."mid" IN (много чисел) GROUP BY
msga."tid")
Переписать несложно, но результат не будет работать на MSSQL :-)
Версия сервера какая?
FileVersion : WI-V2.0.1.12810
Как смотреть точнее?
Точнее не надо.
Для каждой записи внешнего запроса выполняется подзапрос.
хорошо но поле то Not Null, а я пытаюсь сравнить с Null и если указать
явный нулл вместо подзапроса то все выполняеться без задержек. Может это
как-то учитывать?
Сейчас это никак не учтешь, т.к. подзапрос выполняется в коррелированном
виде.
--
Дмитрий Еманов