
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.01.2017, 17:24
|
|||
|---|---|---|---|
|
|||
Запрос к таблице с добавлением полей |
|||
|
#18+
Всем добрый день! Есть следующая таблица Doc: Код: plaintext 1. 2. 3. 4. 5. 6. 7. нужно так построить запрос, чтобы в запрос выводились все поля + дополнительные поля dt_sell_1, dt_end_1 которые бы содержали значения dt_sell, dt_end из первой записи в разрезе user_id. Т. е. вот что должно получиться в итоге: Код: plaintext 1. 2. 3. 4. 5. 6. 7. для всех записей WHERE user_id = 281 полю dt_sell_1 присваивается значение поля dt_sell из первой записи (первая запись та, где type_doc = 1), нужно взять dt_sell (15.03.2017) и подставить во все dt_sell_1 WHERE user_id = 281. на всяк. случай для наглядности добавил скриншот, прошу помощи, возможно ли такое реализовать SQL-запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2017, 17:57
|
|||
|---|---|---|---|
|
|||
Запрос к таблице с добавлением полей |
|||
|
#18+
Пока получился такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. - есть два вопроса: 1. оператор AS `dt_sell_1` не срабатывает, вместо имени столбца `dt_sell_1` выводится "(" как это исправить? 2. как переписать запрос, чтобы задавать условие WHERE `user_id` =281, т.е., чтобы запрос выполнялся в разрезе `user_id` автоматически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.01.2017, 17:59
|
|||
|---|---|---|---|
|
|||
Запрос к таблице с добавлением полей |
|||
|
#18+
Miko_v, вернее так 2. как переписать запрос, чтобы НЕ задавать условие WHERE `user_id` =281 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 18:41
|
|||
|---|---|---|---|
|
|||
Запрос к таблице с добавлением полей |
|||
|
#18+
Поправил запрос (самому смешно от своей ошибки :) ) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. А вот со вторым вопросом сложнее: 2. как переписать запрос, чтобы НЕ задавать условие WHERE `user_id` =281, т.е., чтобы запрос выполнялся в разрезе `user_id` автоматически? подскажите пожалуйста, возможно ли сделать такую выборку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 19:20
|
|||
|---|---|---|---|
Запрос к таблице с добавлением полей |
|||
|
#18+
В показанном примереMiko_vdt_sell, dt_end из первой записи в разрезе user_idравны максимальному значению поля в группе. Если это всегда так - используйте MAX(). Есkи нет - читайте FAQ: Выборка первой/последней записи в группах . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2017, 12:26
|
|||
|---|---|---|---|
|
|||
Запрос к таблице с добавлением полей |
|||
|
#18+
Akina, Спасибо за совет, но мне важно выбрать из каждой группы даты (dt_sell, dt_end ) по условию где type_doc` =1 а не максимальное значение. И в выборку должны попадать не только строки где type_doc` =1 а все записи таблицы, но с дополнительными полями dt_sell_1, dt_end_1, которые содержат значения полей dt_sell, dt_end из записи где type_doc` =1 и все это в разрезе user_id смотрел ссылку, пока непонятно как по этим примерам можно написать такой запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2017, 14:02
|
|||
|---|---|---|---|
Запрос к таблице с добавлением полей |
|||
|
#18+
Miko_vмне важно выбрать из каждой группы даты (dt_sell, dt_end ) по условию где type_doc` =1Тогда получить эти значения в подзапросе, делов-то... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1830976]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
195ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 538ms |

| 0 / 0 |
