Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
1

Ошибка в функции CONCAT SQL Server Management Studio 2014

02.07.2019, 15:42. Просмотров 502. Ответов 17

Здравствуйте.
База данных досталась от прошлого администратора и я не могу разобраться в запросе.
SQL
1
2
3
4
5
6
7
8
9
 SELECT        dbo.GB_SAMPLE.PROJECT, dbo.GB_SITE.SITE_TYPE, dbo.GB_SAMPLE.SITE_ID, dbo.GB_SAMPLE.M_FROM, dbo.GB_SAMPLE.M_TO, dbo.GB_SAMPLE.SAMPLE_ID, dbo.GB_SAMPLE.SAMPLE_METHOD, 
                         dbo.VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.SAMPLE_MATERIAL, IIF(ISNULL(VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.RESULT_MIN, 0) = 0, NULL, 
                         CONCAT(LTRIM(STR(VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.RESULT_MIN)), '-', LTRIM(STR(VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.RESULT_MAX)), ' (', 
                         LTRIM(STR(VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.RESULT_AVG)), ')')) AS AIRDOSE
FROM            dbo.GB_SITE INNER JOIN
                         dbo.GB_SAMPLE ON dbo.GB_SITE.PROJECT = dbo.GB_SAMPLE.PROJECT AND dbo.GB_SITE.SITE_ID = dbo.GB_SAMPLE.SITE_ID INNER JOIN
                         dbo.VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2 ON dbo.GB_SAMPLE.PROJECT = dbo.VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.PROJECT AND 
                         dbo.GB_SAMPLE.SAMPLE_METHOD = dbo.VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.SAMPLE_METHOD AND 
                         dbo.GB_SAMPLE.SAMPLE_ID = dbo.VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.SAMPLE_ID
при данном виде запроса, представление как проект не открывается.
При удалении:
SQL
1
IIF(ISNULL(VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.RESULT_MIN, 0) = 0, NULL
чуть оживает, но выскакивает ошибка о том что функции CONCAT необходимо 2 аргумента, хотя здесь их больше чем 2.
прошу вас помочь разобраться(не переделать, а именно понять что тут не так. прошлый админ, как мне известно, большой знаток в работе с сервером)
Благодарю за внимание!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2019, 15:42
Ответы с готовыми решениями:

Не запускается SQL Server 2014 Management Studio
На компе (вин10 x64) перестал запускаться SQL после того как (при рабочем sql) удалил и заново...

MS SQL Server 2014 Management Studio - вход в локальную сеть
Установил лицензионную MS SQL Server 2014 Management Studio - и что же у нас на старте? На другом...

Не могу открыть SQL Server 2014 Management Studio. Выдает ошибку
Когда нажимаю на ярлык SQL Server 2014 Management Studio сначала грузит программу, а потом выдает...

Как создать сервер в MS SQL Server 2014 Management Studio Express 64 Bit
MS SQL Server 2014 открыл впервые. Но очень нужно им воспользоваться. Нужно создать сервер. Что...

Ошибка в SQL Server Management Studio
При создании резервной копии баз данных процесс доходит до 40% и выходит ошибка Действие Резервное...

17
qwertehok
2754 / 2433 / 644
Регистрация: 29.08.2013
Сообщений: 16,454
02.07.2019, 16:52 2
вроде вот тут
SQL
1
) AS AIRDOSE
скобка лишняя

Цитата Сообщение от Zkyrider Посмотреть сообщение
функции CONCAT необходимо 2 аргумента, хотя здесь их больше чем 2
трудно вам будет
0
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
02.07.2019, 17:15  [ТС] 3
Цитата Сообщение от qwertehok Посмотреть сообщение
трудно вам будет
лучший способ помочь! если нечего сказать, зачем что-то писать вообще? или вы сами не знаете?

Добавлено через 3 минуты
Цитата Сообщение от qwertehok Посмотреть сообщение
вроде вот тут
SQL
1
) AS AIRDOSE
скобка лишняя
Эта скобка - пара к
SQL
1
IIF(ISNULL
0
invm
2300 / 1518 / 498
Регистрация: 02.06.2013
Сообщений: 3,742
02.07.2019, 18:08 4
1. Исходный запрос синтаксически верен.
2. Что такое "при данном виде запроса, представление как проект не открывается" лично мне неведомо.
0
02.07.2019, 18:08
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
03.07.2019, 09:32  [ТС] 5
Цитата Сообщение от invm Посмотреть сообщение
2. Что такое "при данном виде запроса, представление как проект не открывается" лично мне неведомо.
По щелчку правой кнопки мыши, в контекстном меню есть список действий: "показать перые 1000 записей", "изменить первые 200" и "проект", при открытии которого открывается текст запроса, и таблицы которые используются в этом представлении.
и вот при открытии проекта выскакивает ошибка:
Кликните здесь для просмотра всего текста
Ошибка в функции CONCAT SQL Server Management Studio 2014

но стоит удалить строку:
SQL
1
IIF(ISNULL(VW_PM_GEOPHYS_SURVEY_SAMPLE_AIRDOSE_2.RESULT_MIN, 0) = 0, NULL
как ошибка пропадает, но CONCAT требует минимум 2 аргумента.
0
invm
2300 / 1518 / 498
Регистрация: 02.06.2013
Сообщений: 3,742
03.07.2019, 09:46 6
Еще раз - показанный запрос синтаксически верен.
Ошибки связанные с мышкопрограммированием лечаться установкой обновлений на SSMS. Если не поможет - придется смириться или отвыкать от мышкопрограммирования.
0
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
03.07.2019, 12:47  [ТС] 7
Цитата Сообщение от invm Посмотреть сообщение
Ошибки связанные с мышкопрограммированием лечаться установкой обновлений на SSMS. Если не поможет - придется смириться или отвыкать от мышкопрограммирования.
Я занимаюсь СУБД и SQL "всего-ничего", не понимаю почему каждый тыкает меня носом в неграмотность, я сам прекрасно это знаю и пытаюсь это исправить.
На счет синтаксиса я вас понял, потому что до этого базой занимался знающий человек. и тогда хотел бы понять почему не работет код.
В чем заключается мышкопрограммирование в данном случае? Это не претензионный вопрос, а действительно хочу знать.
К сожалению кроме самостоятельного обучения информацию брать неоткуда и я могу быть неправ в методах работы.
0
invm
2300 / 1518 / 498
Регистрация: 02.06.2013
Сообщений: 3,742
03.07.2019, 13:08 8
Цитата Сообщение от Zkyrider Посмотреть сообщение
В чем заключается мышкопрограммирование в данном случае?
Как и во всех остальных случаях - попытка использовать инструментарий визуальной разработки.

В данном конкретном случае, из-за кривости данного инструментария, вы получаете ошибку там, где ее нет.
Либо вводите нас в заблуждение, опубликовав другой код, а не тот, который дает ошибку.
0
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
03.07.2019, 14:28  [ТС] 9
Цитата Сообщение от invm Посмотреть сообщение
В данном конкретном случае, из-за кривости данного инструментария, вы получаете ошибку там, где ее нет.
Либо вводите нас в заблуждение, опубликовав другой код, а не тот, который дает ошибку.
Хм... Не вижу никакого абсолютно смысла публиковать код не относящийся к проблеме, мне ведь нужно решить именно эту.
И суть проблемы в том что запрос верен. Что может быть не так я и пытаюсь выяснить, но не получать язвительные ответы и обвинения в подлоге, вместо аргументированной помощи.
А по поводу инструментария и его "кривости" не уверен, так как SSMS установлена вместе в 2014 версией сервера и лицензия имеется.
Давно привык что форумы бывают недружелюбны, но испытал на себе впервые. Благодарю за это!


ЗЫ: До работы без клиентской оболочки(SSMS) еще не дорос.
0
TrollHammer
614 / 406 / 207
Регистрация: 22.02.2018
Сообщений: 1,258
Записей в блоге: 2
03.07.2019, 15:01 10
Цитата Сообщение от Zkyrider Посмотреть сообщение
так как SSMS установлена вместе в 2014 версией сервера и лицензия имеется
Поверьте, это не показатель Мне на 2016 лицензионную!!! пришлось установить несколько заплаток.

Не по теме:

Ну и пару слов в отношении форумчанина invm - он реальный спец, лично мне он помог во многих вещах.

0
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
03.07.2019, 15:10  [ТС] 11
Цитата Сообщение от TrollHammer Посмотреть сообщение
Поверьте, это не показатель Мне на 2016 лицензионную!!! пришлось установить несколько заплаток.
Спасибо, буду трясти Айтишников.
Цитата Сообщение от TrollHammer Посмотреть сообщение
Не по теме:
Ну и пару слов в отношении форумчанина invm - он реальный спец, лично мне он помог во многих вещах.
НИ в коем случае не сомневаюсь, уверен что знает своё дело, но стиль общения я не оценил.
0
qwertehok
2754 / 2433 / 644
Регистрация: 29.08.2013
Сообщений: 16,454
03.07.2019, 21:10 12
Zkyrider, не используй пункт "проект"
сделай просто "выбрать 1000 записей"
будет тот же запрос только сначала пойдет top 1000
0
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
04.07.2019, 09:07  [ТС] 13
Цитата Сообщение от qwertehok Посмотреть сообщение
Zkyrider, не используй пункт "проект"
сделай просто "выбрать 1000 записей"
будет тот же запрос только сначала пойдет top 1000
Да я бы рад, но мне нужно на основе этого запроса создать другой, но если этот не работает как должен, то и новый смысла нет начинать.
TrollHammer и invm дали совет обновить SSMS, начну с этого.
0
pincet
1411 / 990 / 136
Регистрация: 23.07.2010
Сообщений: 5,425
04.07.2019, 10:01 14
Цитата Сообщение от Zkyrider Посмотреть сообщение
invm дали совет обновить SSMS, начну с этого.
invm не зря упоминал про "мышкопрограммирование"
писать запросы руками предлагать не буду во избежание осуждения стиля общения
0
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
04.07.2019, 14:27  [ТС] 15
Цитата Сообщение от pincet Посмотреть сообщение
invm не зря упоминал про "мышкопрограммирование"
писать запросы руками предлагать не буду во избежание осуждения стиля общения
Вы знаете, хочу вас поблагодарить, только сейчас понял что имелось ввиду под "мышкопрограммированием".
Я все время пытался редактировать представляния с помощью "проекта" а мог просто с 0 написать запрос.
Буду пробовать.

Добавлено через 2 часа 33 минуты
Апдейт:
При создании представления код не рабочий, но при создании запроса все отлично работает.
В чем может быть дело?

О "мышкопрограммировании" - представления кроме как этим способом, ваять не умею.
0
pincet
1411 / 990 / 136
Регистрация: 23.07.2010
Сообщений: 5,425
04.07.2019, 15:04 16
осилить
T-SQL
1
create view
или страдать.
или пригласить кого, чтобы сделал
1
Zkyrider
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 14
04.07.2019, 15:20  [ТС] 17
Цитата Сообщение от pincet Посмотреть сообщение
осилить
T-SQLВыделить код
1
create view
или страдать.
или пригласить кого, чтобы сделал
Уже осилил, но для меня остается загадкой в чем отличие представления и запроса в плане работы кода.
0
pincet
1411 / 990 / 136
Регистрация: 23.07.2010
Сообщений: 5,425
04.07.2019, 15:35 18
Цитата Сообщение от Zkyrider Посмотреть сообщение
Уже осилил, но для меня остается загадкой в чем отличие представления и запроса в плане работы кода.
ты не поверишь (с) нет никаких различий. или мы говорим про разные сущности
0
04.07.2019, 15:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2019, 15:35

Небольшая ошибка в SQL Server 2005 Management Studio
Установил указанную софтину из файла SQLServer2005_SSMSEE.msi с оф. сайта. Мне нужна только Студия...

Ошибка в заполнении таблицы в Microsoft SQL Server Management Studio 17
Нет возможности добавить инфу в БД. как исправить?

Ошибка при входе в Среда SQL Server Management Studio Express
Если где-то были такие темы созданы ранее, то прошу извинения. Срочно нужно установить, а не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru