Динамическое имя таблицы в запросе на основе количества - PullRequest
0 голосов
/ 31 октября 2018

Буду признателен за некоторые предложения по генерации динамического запроса на основе подсчета из моего первого запроса.

Например: в 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

Спасибо ...

...