Попробуйте подзапросы в FROM
без SELECT
. Для повышения производительности вам нужен индекс (logicalcompany, tablecode)
(или наоборот, в зависимости от того, какой из них более избирательный).
SELECT @inputcompany inputcompany,
(SELECT TOP 1
physicalcompany
WHERE logicalcompany = @inputcompany
AND tablecode = 'tsctm005'
ORDER BY <some criteria>) tsctm005_company,
(SELECT TOP 1
physicalcompany
WHERE logicalcompany = @inputcompany
AND tablecode = 'tccom000'
ORDER BY <some criteria>) tccom000_company;
Вы должны найти <some criteria>
для упорядочивания в случае нескольких возможных строк, чтобы решить который имеет приоритет. Если вам просто не нужен случайный запрос, возможно, каждый раз, когда вы запускаете другой запрос, то есть.