|
#1
|
|||
|
|||
БД ADOQuery
Ребят подскажите как реализовать:
Есть таблица "Зарплатные ведомости" и "Отдел продаж". В этих таблицах поля которые мне нужны это "Зарплата" и в другой таблице "Затраты на перевозку", т.е нужны данные по одному полю из двух таблиц. И нужно это(данные) занести в таблицу "Бухгалтерия" в поля "Зарплата" и "Прочие затраты". Пока сделал что переносит но только вот так как на скрине 1 http://saveimg.ru/show-image.php?id=...153b578b9e2d10 Как видно что в таблицу данные добавляет, но как то не смотрится, и думаю что не очень правильно сделано. Хотелось бы примерно так: http://saveimg.ru/show-image.php?id=...0fd90d534621e9 Для вставки использую код: INSERT INTO `accounting` (`salary`) INSERT INTO `accounting` (`shipping_costs`) |
#2
|
|||
|
|||
Ну, если я правильно понял, то проблема в том, что данные заносятся в 2 строки, а должны заноситься в одну.
Код:
insert into accounting (salary, shipping_costs) values ((select sum(salary) from salary where ...),(select sum(costs) from expances where ...)) |
#3
|
|||
|
|||
Немного не так, это оно сразу посчитает сумму зарплаты и вставит мне в таблицу. Просто первый insert into (из таблицы Зарплатные ведомости) вставляет данные в таблицу "Бухгалтерия" в поле "Зарплата" как мне и нужно берет всю зарплату и переносит в таблицу не считая пока сумму просто переносит данные. Потом второй запрос из таблицы "Отдел продаж" берет все затраты на товары, и переносит тоже в таблицу "Бухгалтерия" и вставляет в "Прочие затраты" но уже в новые строки.
|
#4
|
|||
|
|||
а если я сделаю вот так:
Код:
insert into accounting (salary, shipping_costs) values ((select account from payroll),(select shipping from department_sales)) То мне будет ошибка Error Code: 1242. Subquery returns more than 1 row Запрос возвращает более одной строки, потому что зарплат и расходов разное количество. Если я добавил одну строку зарплату в таблицу "Бухгалтерию" то оно не может добавить к примеру два поля "прочих расходов", потому и ошибка что запрос возвращает более одной строки |