Во-первых, как отказ от ответственности, я немного узнаю о SQL/LINQ через C#. На самом деле я очень зеленый. Я быстро устал от использования типовых баз данных, заполненных данными, и выполняя запросы, заданные в самых простых ситуациях. Эта информация представлена таким образом, потому что основное внимание уделяется C# и визуальному программированию, а не волосам SQL или даже LINQ, если на то пошло.Должен ли я создать представление или другую таблицу?
Несмотря на это, я решил преобразовать простое приложение, которое я написал с использованием текстовых (CSV) файлов для хранения. Приложение отслеживает три возможных кредиторской задолженности, где 0 - 3 записи будут существовать на определенную дату. Я смог создать базу данных и отдельные таблицы для каждого контракта и создать приложение, которое вставляет существующие записи в базу данных с использованием классов LINQ to SQL.
Теперь у меня есть другое приложение, которое используется для добавления записей через калькулятор контракта или непосредственно через BindingSourceNavigator и DataGridView. Каждая таблица имеет в общей сложности четыре столбца: Date, GrossPay, TaxAmount и NetPay, Date - первичный ключ. Я хотел бы просмотреть записи по дате, когда у меня есть TotalGross, TotalTax, TotalNet и столбец для каждой таблицы контрактов GrossPay для этой даты.
Что исправить подход к этому - запрос, запрос LINQ, отдельную таблицу или другое? Кажется, что таблица была бы «самой простой», по крайней мере, с точки зрения моих способностей, но, похоже, ненужное копирование записей. Я попытался «связать» таблицы, но ни один другой столбец не будет уникальным или основным.
Любые предложения были бы замечательными.
Разъяснение:
Три таблицы имеют формат:
| Дата | GrossPay | TaxAmount | NetPay | ... у каждого есть другие не общие ... |
** Каждая таблица имеет специфические данные, используемые для расчета общих столбцов на основе типа контракта
Я хотел бы, чтобы просмотреть все записи «сгруппированы» по дате, так что каждая представлены как:
| Дата | TotalGross | TotalTax | TotalNet | Table1Gross | Table2Gross | Table3Gross |
** «Всего» столбцы представляют собой суммы соответствующих столбцов всех записей, разделяющих дату.
** Один или два из «таблицы (п) Gross» может быть равен нулю
Его немного сложно понять, что вы пытаетесь сделать в этом вопросе, можете ли вы его прояснить? – dcarson