При использовании этого пересмотренного запроса я обнаружил, что теперь получаю ошибку преобразования при попытке применить переменную к моим операторам WHERE.Спасибо за любую помощь в этом.
Я попытался ввести фактическое значение, которое содержит переменная, и запрос работает отлично, однако при попытке заменить число (как я сделал с фрагментом кода после«И» появляется с ошибкой ниже. Данные по сути представляют собой комбинацию года и месяца и читают 2018011, 2018012, 2019001, 2019002 и т. Д.
Select *
From (
SELECT A_TABLE.BU_CODE
,A_TABLE.ACCNT_CODE
,A_TABLE.PERIOD
,A_TABLE.REPORT_AMT
,A_TABLE.TREFERENCE
,A_TABLE.DESCRIPTN
,A_TABLE.ANAL_T0
,'A' MEASURE
FROM A_TABLE WHERE (A_TABLE.ANAL_T0 = 'B80' AND A_TABLE.PERIOD BETWEEN 2019001 AND '"&Variable.text&"')
UNION ALL
SELECT B_TABLE.BU_CODE
,B_TABLE.ACCNT_CODE
,B_TABLE.PERIOD
,B_TABLE.REPORT_AMT
,B_TABLE.TREFERENCE
,B_TABLE.DESCRIPTN
,B_TABLE.ANAL_T0
,'B' MEASURE
FROM B_TABLE WHERE (B_TABLE.ANAL_T0 = 'B80' AND B_TABLE.PERIOD BETWEEN 2019001 AND '"&Variable.text&"')
) src
PIVOT ( SUM(REPORT_AMT) FOR MEASURE IN ([A], [B]) ) AS PivotTable
Я получаю это сообщение об ошибке, когда явыполните приведенное выше.
Не удалось выполнить преобразование при преобразовании значения varchar '"& Variable.Text &"' в тип данных int.
Я сейчас попытался добавить это, но получаюошибка далее вверх.
Declare @CBal Int
Set @CBal = '"&Variable.Text&"'
Программное обеспечение, в котором он находится - в простом запросе SELECT FROM WHERE, я могу использовать вышеупомянутое, и это работает, например, это не имеет значения
SELECT * FROM A_TABLE WHERE A_TABLE.PERIOD BETWEEN '"&Variable.Text&"' AND '"&Variable.Text&"'