У меня есть набор таблиц (телефонные книги, номера, дополнительные поля, экстрадаты)
- телефонные книги - Список телефонных книг пользователей (
username
, book_id
, title
)
- номера - Список номеров каждой телефонной книги (
number_id
, book_id
, number
, fullname
)
- extrafields - Список дополнительных полей (день рождения, адрес электронной почты, ...) и поля таблицы:
field_id
, title
- extradatas - Список дополнительных данных дополнительных полей каждого номера (
book_id
, field_id
, number_id
, value
)
- отношения - Какое дополнительное поле принадлежит какой телефонной книге (
book_id
, field_id
)
Представьте себе пользователя, у которого есть телефонная книга и дополнительное поле дня рождения.
Как я могу выбрать номера, у которых сегодня день рождения?
РЕДАКТИРОВАТЬ: Я указал uname
, book_id
, field_id
в моих руках (из сценария PHP), и результаты должны быть ограничены этими значениями.
Обратите внимание, что я сохраняю поля даты в метке времени Unix, а тип extradatas
. value
- varchar.
Это - самое сложное математическое соединение-выбор в моей жизни (я думаю).
Почему математика? : потому что я хочу вычислить номер дня из метки времени Unix, без необходимости использовать функции (например, DATE_FORMAT)