Это простой запрос, который я использовал (например, LIMIT 1, а не TOP 1) несколько раз в моей собственной базе данных MySQL:
SELECT
j1.status AS "Status",
j1.number AS "Number",
(
SELECT TOP 1
i2.invoicedDate
FROM invoices AS i2
INNER JOIN jobs AS j2 ON i2.jobKey = j2.id
WHERE
j1.id=j2.id
AND
j2.status = 'INVOICED'
) AS "Invoiced Date"
FROM jobs AS j1
Допустим, в om.jobGroup есть 183 000 строктаблица, в MySQL результат будет возвращать все 183 000 результатов - и если в подзапросе ничего не будет найдено, он будет возвращать NULL
, когда я выполняю тот же запрос на сервере Microsoft SQL;он не только занимает значительно больше времени, но и возвращает только 1700 записей?
Каков наилучший способ приблизиться к этому с точки зрения SQL - я лаю неправильное дерево?
Удаление подзапросаи выполнение объединения по основному запросу все еще приводит к несоответствию записей.