Буду признателен за некоторые предложения по генерации динамического запроса на основе подсчета из моего первого запроса.
Например: в 757 BTID мы нашли максимальное количество записей, поэтому это должна быть наша первая таблица во втором запросе.
Точно так же 706 будет 2-м, 788-3-м, 715 будет 4-й таблицей во втором запросе в зависимости от количества.
Это будет отличаться для каждого пользователя, так как количество отличается
Первый запрос:
SELECT btid, COUNT(*) FROM dbo.PERSON_EXPANDED
WHERE PID=31226 AND BTID IN (757,706,788,715)
GROUP BY btid
Результаты первого запроса:
757 15
706 14
788 12
715 11
Второй запрос:
SELECT *
FROM dbo.PERSON_EXPANDED E757
INNER JOIN dbo.PERSON_EXPANDED E706 ON E757.PID=E706.PID AND E706.BTID=706 AND E757.EffectiveDate BETWEEN E706.EffectiveDate AND E706.ExpirationDate
INNER JOIN dbo.PERSON_EXPANDED S788 ON E757.PID=S788.PID AND S788.BTID=788 AND E757.EffectiveDate BETWEEN S788.EffectiveDate AND S788.ExpirationDate
INNER JOIN dbo.PERSON_EXPANDED S715 ON E757.PID=S715.PID AND S715.BTID=715 AND E757.EffectiveDate BETWEEN S715.EffectiveDate AND S715.ExpirationDate
INNER JOIN dbo.EMPLOYEE E ON P.PID=E757.PID
WHERE E757.BTID=757
AND E.PID=31226
ORDER BY E757.EffectiveDate
Спасибо ...