Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Добрый день, уважаемые форумчане! Есть у меня небольшой файл Excel с SQL-запросом. В данный момент возникла необходимость присоединить к сформированной запросом таблице снизу точно такую же по структуре таблицу, из того же источника, только с несколькими другими столбцами. То есть нужно сделать так, чтобы к имеющейся таблице снизу добавилась точно такая же таблица, столбцы которой впоследствии можно будет изменять. При использовании второго "Union All" и последующего за ним кода программа не добавляет таблицу, а ругается на "Несоответствие типов данных в выражении условия отбора". Может подскажете в чем ошибка?
Файл-пример работает при размещении в корне диcка D.
Неактивен
почему-то этот запрос работает:
Select
Null As [Дата],
t1.[Продукт],
t1.[FSum] As [Остаток на начало периода],
0 As [Приход],
0 As [Расход],
t1.[FSum] As [Остаток на конец периода]
From (Select [Продукт], Sum([Приход] - [Расход]) As FSum From [База$] Where [Дата] < ? Group By [Продукт] Order By [Продукт]) t1
Union All
Select
t2.[Дата],
t2.[Продукт],
t2.[Остаток на начало периода],
t2.[Приход],
t2.[Расход],
t2.[Остаток на конец периода]
From (Select [Дата], [Продукт], [Остаток на начало периода], [Приход], [Расход], [Остаток на конец периода] From [База$] Where [Дата] >= ? And [Дата] <= ? Order By [Дата], [Продукт]) t2
а точно такой же, повторенный через Union All - нет?
Select
Null As [Дата],
t1.[Продукт],
t1.[FSum] As [Остаток на начало периода],
0 As [Приход],
0 As [Расход],
t1.[FSum] As [Остаток на конец периода]
From (Select [Продукт], Sum([Приход] - [Расход]) As FSum From [База$] Where [Дата] < ? Group By [Продукт] Order By [Продукт]) t1
Union All
Select
t2.[Дата],
t2.[Продукт],
t2.[Остаток на начало периода],
t2.[Приход],
t2.[Расход],
t2.[Остаток на конец периода]
From (Select [Дата], [Продукт], [Остаток на начало периода], [Приход], [Расход], [Остаток на конец периода] From [База$] Where [Дата] >= ? And [Дата] <= ? Order By [Дата], [Продукт]) t2
Union All
Select
Null As [Дата],
t1.[Продукт],
t1.[FSum] As [Остаток на начало периода],
0 As [Приход],
0 As [Расход],
t1.[FSum] As [Остаток на конец периода]
From (Select [Продукт], Sum([Приход] - [Расход]) As FSum From [База$] Where [Дата] < ? Group By [Продукт] Order By [Продукт]) t1
Union All
Select
t2.[Дата],
t2.[Продукт],
t2.[Остаток на начало периода],
t2.[Приход],
t2.[Расход],
t2.[Остаток на конец периода]
From (Select [Дата], [Продукт], [Остаток на начало периода], [Приход], [Расход], [Остаток на конец периода] From [База$] Where [Дата] >= ? And [Дата] <= ? Order By [Дата], [Продукт]) t2
Неактивен
Не работает - выдает ошибку или что-то другое?
Предположу, что проблемы в дублировании t1 и t2. Т.е. при повторении запроса через Union All во второй части вместо t1 и t2 нужно использовать другие алиасы, например, t3 и t4 или t11 и t22.
Неактивен
Выдает ошибку: "Несоответствие типов данных в выражении условия отбора", хотя не пойму, причем здесь это: первая часть запроса же работает, а вторая часть - такая же как и первая.
Переименовывать на t3 и t4 - это первое, что я попробовал, но не помогло.
Неактивен
Я заметил следующую закономерность: все запросы в различных комбинациях отлично работают через Union All до тех пор, пока в тексте запроса присутствуют до трех включительно вопросительных знаков "?". Как только появляется четвертый "?", Excel предлагает добавить Параметр, и после добавления Параметра - все клинит. Подскажите кто знает, возможно где-то существуют настройки Параметров, Имен параметров или что-то с этим связанное?
Неактивен
короче, проблема у меня не в запросе (он 100% рабочий!); сложность в "привязке" к запросу условий из ячеек в Excel 2021; информации в интернете о последовательности действий для осуществления такой "привязки" совсем нет...
Неактивен
это какой-то внезапный приплызд! спустя год хаотических манипуляций все заработало!!! сему предшествовало колдовство с именами параметров в файле .odc, затем перемена местами блоков запроса и, в связи с этим, переназначение ячеек в параметрах...
Неактивен
Страниц: 1