Есть ли способ сделать выбор из одного Select
в Microsoft SQL Server?
Что-то вроде:
SELECT id, type, name, address
FROM Persons AS Persons_DATA
WHERE (name='...' OR name in ('...','...'))
SELECT TOP 1 'Best Vendor : '+name from Persons_DATA where type=1 order by ...
union SELECT TOP 1 'Best Customer : '+name from Persons_DATA where type=2 order by ...
union SELECT TOP 1 'Least Debt : '+name from Persons_DATA where ... order by ...
union SELECT TOP 1 'Most Debt : '+name from Persons_DATA where ... order by ...
...
Я знаю, что могу сделать:
SELECT TOP 1
'Best Vendor : '+name
FROM
Persons
WHERE
type = 1 AND (name='...' OR name in ('...','...'))
ORDER BY ...
UNION
SELECT TOP 1
'Best Customer : '+name
FROM
Persons
WHERE
type = 2
AND (name='...' OR name in ('...','...'))
ORDER BY ...
Но я думаю, что это займет больше времени, потому что это сделает много ненужных поисков в большой базе данных
но первый код будет выполнять только 1 поиск в большой базе данных, а X - в небольшой базе данных, и это займет меньше времени .... я прав?