2015-02-28 3 views
0

У меня есть запрос к базе данных SQL Server:SQL Union выберите получить максимальную длину от результата

Select [Surname] 
from [dbo].[customer] 

union 

Select 'Surname'; 

В результате у меня есть:

SQL result

и я хочу получить от результата max(len({result}));. Если я использую:

Select max(len([Surname])) 
from [dbo].[customer]; 

Это работает правильно (в результате у меня 11), но мне нужно добавить для сравнения имени столбца.

Запрос:

Select max(len(Select [Surname] 
       from [dbo].[customer] 
       union 
       Select 'Surname')) 

Возврат ошибки:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'select'.

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ')'.

+0

Confused ?? Как выглядит ваш экспрессивный результат? –

+0

Я заменю часть сообщения. В результате я хочу иметь максимальную длину. В примере изображение формы это 11. – Peter

ответ

1

Попробуйте изменить его

Select max(len([Nazwisko])) 
FROM (Select [Nazwisko] from [dbo].[wlasciciel] union Select 'Surname') t 
+0

Эта работа, но я не понимаю, что делать 't' в конце запроса? – Peter

+0

Это псевдоним для производной таблицы. В большинстве (если не все) СУБД это требуется, независимо от того, используете ли вы его в любом месте. – TommCatt

Смежные вопросы