лучший способ создания отчетов на столе - PullRequest
1 голос
/ 06 мая 2009

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

1 Ответ

2 голосов
/ 06 мая 2009

Можете ли вы предоставить дополнительную информацию? Какие поля доступны в таблице, которую вы хотите запросить? Как вы хотите отобразить эту информацию? На сайте? Для отчета?

Из того, что вы описываете, вам нужны две таблицы. Одна таблица (пусть call is 'users' ) будет содержать информацию о каждом пользователе, а другая будет содержать фактические результаты экзаменов (давайте назовем эту таблицу 'results' ).

Каждый человек в таблице 'user' имеет уникальный идентификационный номер (я назову его UID ), чтобы идентифицировать его, и каждый результат в результатах ' ' таблица также имеет UID человека, к которому относится оценка. Включив UID пользователя в таблицу 'results' , вы можете связать бесконечное число результатов (так называемое отношение один-ко-многим).

Таблица 'user' может выглядеть следующим образом:

userUID (UID for each person) | Name | User Details
1 | Barack Obama | President 
2 | George Bush | Ex-President

Таблица 'results' может выглядеть следующим образом:

UID for each exam | userUID (UID of the person who look the test) | Score
1 | 1 | 85
2 | 2 | 40    
3 | 1 | 82
4 | 2 | 25

Мне всегда нравится добавлять UID для таких вещей, как экзамен, потому что он позволяет легко найти конкретный результат экзамена.

В любом случае ... запрос для получения всех результатов для Барака Обамы будет выглядеть так:

SELECT Score From 'results' WHERE userUID = 1

Чтобы получить результаты для Джорджа Буша, просто измените userUID на 2. Очевидно, вам нужно знать UID пользователя (userUID), прежде чем выполнить этот запрос.

Обратите внимание, что это ОЧЕНЬ основные примеры (с вымышленными персонажами;)). Вы можете легко добавить поле агрегированной оценки в таблицу 'user' и обновлять ее каждый раз, когда добавляете новый результат в таблицу 'results' . В зависимости от того, как настроен ваш код, это может сэкономить вам запрос.

Удачи - надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...