У меня есть таблицы INFO, конструкция которого, как это значение состояниязапросов присоединиться и оптимизация
id - bigint
Name - varchar2
refid - bigint
status - int
ExpDate - datetime
- может быть 0,1,2,3,4
- RefID является внешним ключом другой таблицы которые мы будем использовать слишком
Я хочу написать запрос, где все записи должны поступать из этой таблицы со статусом 0, 1, 2, 3, но только 7 последних записей по expdate должны прийти чьи статус равен 4.
Я не могу понять, как мы можем достичь этого в T-SQL.
Пожалуйста, помогите мне или дайте мне предложение, чтобы я мог начать писать его.
Upto я писал
SELECT *
FROM INFO
WHERE STATUS IN (0,1,2,3) AND
REFID IN (SELECT REFID FROM REFTABLE WHERE REFCHAIN='BMW')
SELECT TOP 7
FROM INFO
WHERE STATUS=4 AND
REFID IN(SELECT REFID FROM REFTABLE WHERE REFCHAIN='BMW')
ORDER BY EXPDATE DESC
я должен присоединиться к ним ??? как .. предложить, а также запрос
(SELECT REFID FROM REFTABLE WHERE REFCHAIN='BMW')
приходит в два раза, как оптимизировать это спасибо ..
Хотите оптимизировать запрос или удалить дубликаты записей ? – pavanred
Нет дубликатов записей, потому что 'STATUS' отличается. – coms
Хорошо .. «идет дважды, как оптимизировать его, спасибо ..» заставило меня думать, что могут быть дубликаты записей. – pavanred