Всем привет! Я создал БД с двумя таблицами, таблицы заполнил. Суть задания заключается в том, что фирма имеет несколько пунктов приема вторсырья. Каждый пункт получает деньги для их выдачи сдатчикам вторсырья. Сведения о получении денег на пунктах приема записываются в таблицу: Income (point, datepr, inc). Первичным ключом является (point, datepr). При этом в столбец datepr записывается только дата (без времени), т.е. прием денег (inc) на каждом пункте производится не чаще одного раза в день. Сведения о выдаче денег сдатчикам вторсырья записываются в таблицу: Outcome (point, datesd, out). В этой таблице также первичный ключ (point, datesd) гарантирует отчетность каждого пункта о выданных деньгах (out) не чаще одного раза в день. Здесь также значения столбца datesd не содержат времени. Мои запросы: Создаю БД: Код (Text): CREATE DATABASE firma CHARACTER SET utf8 COLLATE utf8_general_ci; Создаю таблицу income: Код (Text): CREATE TABLE income (point TINYINT UNSIGNED NOT NULL COMMENT 'Код пункта приема', datepr DATE NOT NULL COMMENT 'Дата прихода', inc FLOAT NOT NULL COMMENT 'Полученные деньги', PRIMARY KEY (point, datepr)); Создаю таблицу outcome: Код (Text): CREATE TABLE outcome (point TINYINT UNSIGNED NOT NULL COMMENT 'Код пункта приема', datesd DATE NOT NULL COMMENT 'Дата сдачи', outc FLOAT NOT NULL COMMENT 'Сумма выданных денежных средств сдатчику', PRIMARY KEY (point, datesd)); Заполняю таблицу income: Код (Text): INSERT INTO income (point, datepr, inc) VALUES ('120', '2013-06-15', '400'); INSERT INTO income (point, datepr, inc) VALUES ('50', '2013-08-04', '150'); INSERT INTO income (point, datepr, inc) VALUES ('80', '2013-12-17', '500'); INSERT INTO income (point, datepr, inc) VALUES ('26', '2013-07-12', '1000'); INSERT INTO income (point, datepr, inc) VALUES ('86', '2013-09-01', '800'); INSERT INTO income (point, datepr, inc) VALUES ('20', '2013-12-12', '400'); INSERT INTO income (point, datepr, inc) VALUES ('74', '2013-02-19', '600'); INSERT INTO income (point, datepr, inc) VALUES ('25', '2013-01-08', '700'); Заполняю таблицу outcome: Код (Text): INSERT INTO outcome (point, datesd, outc) VALUES ('120', '2013-06-15', '200'); INSERT INTO outcome (point, datesd, outc) VALUES ('50', '2013-08-04', '50'); INSERT INTO outcome (point, datesd, outc) VALUES ('80', '2013-12-17', '350'); INSERT INTO outcome (point, datesd, outc) VALUES ('26', '2013-07-12', '600'); INSERT INTO outcome (point, datesd, outc) VALUES ('86', '2013-09-01', '400'); INSERT INTO outcome (point, datesd, outc) VALUES ('20', '2013-12-12', '300'); INSERT INTO outcome (point, datesd, outc) VALUES ('74', '2013-02-19', '450'); INSERT INTO outcome (point, datesd, outc) VALUES ('25', '2013-01-08', '550'); Я не соображу, как правильно написать два запроса (первый готов): 1. Запрос, который выводит все операции прихода и расхода из таблиц Income и Outcome в следующем виде: дата, пункт прихода, сумма прихода, пункт расхода, сумма расхода. При этом все операции прихода по всем пунктам упорядочены по полю point. Код (Text): select * from income i left join outcome o on i.point=o.point; 2. Из таблицы Outcome получить все записи за тот месяц (месяцы), с учетом года, в котором суммарное значение прихода (inc) - значение расхода (out) было максимальным. 3. По таблицам Income и Outcome для каждого пункта приема найти остатки денежных средств на конец каждого дня, в который выполнялись операции по приходу и/или расходу на данном пункте. Учесть при этом, что деньги не изымаются, а остатки/задолженность переходят на следующий день. Для решения задачи создать процедуру. Вывод: пункт приема, день в формате "dd/mm/yyyy", остатки/задолженность на конец этого дня. Буду очень благодарен, если поможете составить эти два оставшихся запроса. Всем заранее большое спасибо!
чтобы не вчитываться в структуру таблиц .. а собери ка их вот тут http://sqlfiddle.com/ а ссылку тут запостиш .. там можно и опыты поделать