![]() |
|
Модераторы: skyboy |
![]()
|
|
| veterrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
table
----------- id status action case_number readiness_date table1 ----------- id mid // id- table executor //INT kilometrage departure_date survey_date table2 ----------- id mid // id- table executor //INT kilometrage departure_date survey_date accounts ----------- id mid // id- table account_num account_sum paid ----------- id mid // id- table aid // id- accounts executor //INT exec_sum exec_date Нужно выбрать данные из: table.status, table.action, table.case_number, table.readiness_date, table1.kilometrage, table2.kilometrage, accounts.account_num, accounts.account_sum, paid.exec_sum, paid.exec_date где accounts.mid = table.id, table1.mid = table.id, table1.executor = $_POST[idexecutor] AND (table1.departure_date >= $_POST[range_date1] AND table1.departure_date <= $_POST[range_date2]) OR (table1.survey_date >= $_POST[range_date1] AND table1.survey_date <= $_POST[range_date2]) table2.mid = table.id, table2.executor = $_POST[idexecutor] AND (table2.departure_date >= $_POST[range_date1] AND table2.departure_date <= $_POST[range_date2]) OR (table2.survey_date >= $_POST[range_date1] AND table2.survey_date <= $_POST[range_date2]) paid.mid = table.id, paid.aid = accounts.id Еще и сумму подбить по paid.exec_sum и accounts.account_sum т.е. нужно выбрать данные где встречается определенный исполнитель (idexecutor) и события (departure_date,survey_date) попадают в в период между датами (range_date1,range_date2) Несколько дней бьюсь ничего не получается. Помогите пожалуйста составить правильно запрос |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
1) Таблицы давайте в теге кода в форме DDL;
2) Условия связывания давайте без PHP-шной шелухи, например, с определёнными заданными значениями уже после подстановки (само собой, никакого дублирования). И тоже в тегах кода; 3) Ещё лучше - дайте дополнительно код INSERT INTO минимального наполнения таблиц, и желаемый итог с именно этими данными и именно этими условиями, да плюс с объяснением, почему именно так. Либо детальные данные, либо суммарные. Но не всё в кучу. Надо и то, и другое - будет два запроса. ТО есть можно и один - но тогда на клиенте будешь разгребать, где частное, а где сумма. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| veterrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
Суммы нужны вторым запросом, но по тем же условиям - это понятно.
По остальному составлю описание подробней |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Кстати, таблицы table1 и table2 имеют совершенно идентичную структуру и, судя по именам полей и логике связывания, идентчное наполнение... почему их две, а не одна?
Добавлено через 1 минуту и 43 секунды А вот тут явно что-то напахано... образуется цикл соответствий. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| veterrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
Я здесь описал их кратко (table1 и table2), в реале они действительно почти индентичны, в них записываются данные людей двух категорий и часть полей отличается или отсутствует.
Есть главная таблица (условно) table, с ней связаны таблицы table1 и table2, а также accounts с связанная с ней paid (aid), в paid присутствует mid (id главной) т.к. иногда нужно выводить данные в связке (table-paid). Согласен что напахано, сильно не пинайте, опыта проектирования большой базы и сложных запросов нет. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |