SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Другие СУБД » Как соединить две схожие таблицы, полученные SQL-запросом?
Как соединить две схожие таблицы, полученные SQL-запросом? [сообщение #4978] Thu, 25 April 2024 20:51 Переход к следующему сообщению
sasch в настоящее время не в онлайне  sasch
Сообщений: 3
Зарегистрирован: April 2024
Junior Member
Добрый день, уважаемые форумчане! Есть у меня небольшой файл Excel с SQL-запросом. В данный момент возникла необходимость присоединить к сформированной запросом таблице снизу точно такую же по структуре таблицу, из того же источника, только с несколькими другими столбцами. То есть нужно сделать так, чтобы к имеющейся таблице снизу добавилась точно такая же таблица, столбцы которой впоследствии можно будет изменять. При использовании второго "Union All" и последующего за ним кода программа не добавляет таблицу, а ругается на "Несоответствие типов данных в выражении условия отбора". Может подскажете в чем ошибка?

Файл-пример работает при размещении в корне диcка D.
  • Вложение: Фрукты.xlsm
    (Размер: 14.46KB, Загружено 23 раза)
Re: Как соединить две схожие таблицы, полученные SQL-запросом? [сообщение #4987 является ответом на сообщение #4978] Sun, 28 April 2024 12:40 Переход к предыдущему сообщениюПереход к следующему сообщению
sasch в настоящее время не в онлайне  sasch
Сообщений: 3
Зарегистрирован: April 2024
Junior Member
почему-то этот запрос работает:

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
Re: Как соединить две схожие таблицы, полученные SQL-запросом? [сообщение #5002 является ответом на сообщение #4987] Thu, 02 May 2024 10:56 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 295
Зарегистрирован: June 2022
Senior Member
Ошибку можно было и показать.

Если ошибка из-за типов данных, то сделайте приведение в запросе.
Re: Как соединить две схожие таблицы, полученные SQL-запросом? [сообщение #5014 является ответом на сообщение #4978] Sat, 04 May 2024 11:50 Переход к предыдущему сообщению
sasch в настоящее время не в онлайне  sasch
Сообщений: 3
Зарегистрирован: April 2024
Junior Member
/index.php/fa/257/0/

я бухгалтер и совсем не понимаю, как это сделать, хоть и пытаюсь разобраться уже больше месяца... не могу понять, причем здесь "несоответствие типов данных", ведь первая часть запроса же работает, а вторая часть - точно такая же как и первая? и что значит "приведение"?
  • Вложение: 1.png
    (Размер: 11.93KB, Загружено 23 раза)
Предыдущая тема: [Elasticsearch] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев
Переход к форуму:
  


Текущее время: Sun May 05 22:46:48 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00583 секунд