2016-03-01 1 views
0

Рассмотрим следующие таблицы:Создание финансовой отчетности в SQL

enter image description here

Теперь, прежде чем я продолжу, я должен предварить это, заявив, что я не бухгалтер (который, если вам случится быть бухгалтером, читая это вероятно, показывает !!)

У меня есть таблица счетов и соответствующая таблица счетов-фактур и отдельная таблица операторов контактов. Мое намерение состоит в том, чтобы предоставить конечному пользователю возможность создавать пронумерованные заявления для клиентов, которые теоретически, по крайней мере, могут быть возвращены в любое время в будущем. Логически. Должно быть возможно создать простой запрос, который, учитывая входной параметр начального баланса, должен иметь возможность взять сумму тех счетов-фактур, принадлежащих определенному контакту, с непогашенным балансом> 0 (с определенного периода), добавить его к этому непогашенный остаток и делать аналогичные платежи по счетам за тот же период только на этот раз, вычитая его из непогашенного остатка, оставив с окончательным балансом закрытия за этот период.

То, что я хотел бы знать у вас, с большим опытом в создании сложных запросов, которые у меня есть, если, учитывая структуры таблиц, которые вы видите выше, можно было бы создать хранимая процедура, принимающая начальный баланс, начало и конец даты в качестве входных параметров и создать таблицу транзакций счета-фактуры/счета-фактуры в порядке дат (по умолчанию для выставления счета сначала по датам, где есть оба), которые я мог бы затем использовать в качестве базы для физического бумажного отчета, который я также хотел бы производить.

Я не ожидаю, что кто-нибудь напишет запрос для меня, я действительно хочу знать, возможно ли это из данной структуры и, возможно, вы предоставили тонкий указатель в правильном направлении, чтобы я начал создавать запрос. Если я застрял, я всегда могу вернуться, но сейчас мне бы хотелось узнать, возможно ли это, и, возможно, более важно, если нет, почему бы и нет. Что я пропустил в структурах таблиц?

+0

Почему нет? только если вы можете связать каждый счет-фактуру и соответствующие письма – LKW

ответ

0

Ответ да, если у вас есть еще одна таблица, например, клиент для подключения ContactsStatements к другим таблицам. Если ContactsStatements.ContactId контакт с клиентами и у вас есть таблица со списком клиентов, то вы можете присоединиться к ContactsStatements.ContactId = [customer].ContactId, а затем [customer].CustomerId = Invoices.CustomerId

Если вы можете достичь этого, вы можете создать ранее процедуру без каких-либо проблем.

+0

Спасибо, ссылка, которую вы предлагаете, уже на месте, поэтому я приступлю к созданию фактической процедуры. –