Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 24.12.2020
Сообщений: 9

Неправильный синтаксис около конструкции

27.05.2023, 23:59. Показов 3152. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, по какой причине этот код:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
DECLARE @cols AS NVARCHAR(MAX)
DECLARE @query AS NVARCHAR(MAX)
 
-- первый запрос для получения списка уникальных дат
SELECT @cols = STUFF((
    SELECT ',' + QUOTENAME(DAY(Дата))
    FROM (
        SELECT DISTINCT Дата FROM Явка WHERE MONTH(Дата) = 4 AND YEAR(Дата) = 2023
    ) AS dates
    ORDER BY DAY(Дата)
    FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
 
-- добавляем столбец, который будет считать явку за первую половину месяца
SET @cols = STUFF(@cols, (DAY(EOMONTH('2023-04-01')) + 2) * 1, 0, ', [Явка_1st_Half] INT')
 
-- добавляем столбец, который будет считать явку за вторую половину месяца
SET @cols = STUFF(@cols, (DAY(EOMONTH('2023-04-01')) + 2) * 2, 0, ', [Явка_2nd_Half] INT')
 
SET @query = N'
SELECT ФИО_рабочего, ' + @cols + '
FROM (
    SELECT Рабочие.ФИО_рабочего, DAY(Явка.Дата) AS День, CAST(Явка.Явка AS INT) AS Явка,
    CASE
        WHEN DAY(Явка.Дата) <= DAY(EOMONTH(Явка.Дата)) / 2 THEN ''Явка_1st_Half''
        ELSE ''Явка_2nd_Half''
    END AS Явка_Period
    FROM Рабочие
    LEFT JOIN Явка ON Явка.id_работника = Рабочие.Код_рабочего AND MONTH(Явка.Дата) = 4 AND YEAR(Явка.Дата) = 2023
) AS ИнформацияОявке
PIVOT (
    AVG(Явка)
    FOR День IN (' + @cols + ')
) AS Табель_явки
ORDER BY ФИО_рабочего'
 
EXECUTE sp_executesql @query;
Вызывает эти ошибки:
Msg 102, Level 15, State 1, Line 2
Неправильный синтаксис около конструкции "]".
Msg 156, Level 15, State 1, Line 11
Неправильный синтаксис около ключевого слова "AS".

Пытаюсь сделать табель явки работников, обычную табличку с явкой/неявкой он выводит без проблем. Но если пытаюсь сделать столбцы по середине и в конце, которые подсчитывают кол-во явки и неявки, то выдает эти ошибки
Миниатюры
Неправильный синтаксис около конструкции   Неправильный синтаксис около конструкции   Неправильный синтаксис около конструкции  

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2023, 23:59
Ответы с готовыми решениями:

Неправильный синтаксис около конструкции merge
Доброго времени суток! :senor: Процедура должна приводить одну таблицу в полное соответствие с другой. Собственно код: use...

Цикл While в запросе: Неправильный синтаксис около конструкции
Коллеги, Вот фрагмент запроса: DECLARE @TEMP1 int SELECT @TEMP1 = COUNT(*) FROM ..Items DECLARE @i int SET @i =0; ...

Ошибка в коде SQL: Неправильный синтаксис около конструкции "<"
Помогите пожалуйста с ошибкой в коде. USE GO INSERT INTO . ( , , , ...

3
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
28.05.2023, 11:12
SQL
1
SELECT ',' + QUOTENAME(DAY(Дата))
Запятая после SELECT идти не может
0
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
28.05.2023, 11:45
Пытливый, почему?
0
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
28.05.2023, 13:24
Потому что синтаксическая ошибка будет :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2023, 13:24
Помогаю со студенческими работами здесь

Вложенные запросы SQL: Неправильный синтаксис около конструкции ")"
Всем привет. Помогите создать &quot;Вложенные запросы&quot;. Пример. SELECT имя_столбца FROM имя_таблицы WHERE часть условия IN (SELECT...

Ошибка в запросе. Неправильный синтаксис около конструкции "LIMIT"
select ВидПродукта from inner join on . = .КодЗаявки WHERE BETWEEN '01.01.2015' AND '01.01.2016' group by ВидПродукта ...

msg 102 Неправильный синтаксис около конструкции "."
CREATE TABLE ORDERFILE( orderfile_id numeric(3) identity primary key not null, orderfile_delivery varchar(50) not null, orderfile_sum...

Неправильный синтаксис около конструкции "Replace" SQL
Добрый день! Имеется запрос DECLARE @r VARCHAR(100) SET @r = '' Replace(@r, : , ;) select LEN(@r) -...

Процедура на удаление: выводится ошибка -неправильный синтаксис около конструкции "15"
CREATE PROCEDURE dbo.DeletFromTable @field varchar(50), @name varchar(20) AS BEGIN exec('Delete From ' + @name + ' where id...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru