Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Добрый день, господа! Долго искал сей вопрос, но подходящего ответа так и не нашел. Есть таблица, куда ведется лог диалога клиента с заказчиком: whocalled calldate tack_idUser 2017-06-17 17:30:08.360 12354Merchant 2017-06-17 17:36:15.910 12354User 2017-06-17 17:45:09.300 12354Merchant 2017-06-17 17:42:23.500 12354Merchant 2017-06-17 17:42:23.500 12354User 2017-06-17 17:38:03.202 12354 Необходимо написать запрос так, чтобы получалась таблица c диапазоном даты-времени в хронологической последовательности: whocalled_1 calldate_1 calldate_2 whomcalled_2 task_idUser 2017-06-17 17:30:08.360 2017-06-17 17:36:15.910 Merchant 12354User 2017-06-17 17:38:03.202 2017-06-17 17:42:23.500 Merchant 12354 Обыскал всевозможные темы, но удовлетворяющего ответа, так и не нашел. Буду рад помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 14:04 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Для Merchant - две одинаковые строки. Это как? Будьте любезны, сформулируйте задачу нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 14:14 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
К сожалению, задача сформулирована именно так. Мой вариант, который мне удалось найти, не исключает дублей, но необходимо, чтобы они не учитывались: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 14:18 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Eneimor, в колонке calldate хранятся данные, имеющие разный смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 14:31 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Там хранится время, в которое был совершен звонок тем или иным лицом. Необходимо соотнести эти даты между одним и другим лицом в хронологическом порядке и без повторов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 14:40 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 15:04 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Eneimor, В таком случае нет доказательств связи между звонками. То есть вы их не можете поместить в один кортеж результирующего набора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 15:22 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
invm, Ваш запрос работает безупречно, но в конечном итоге, если добавить еще записи, то все равно будет происходить смещение с из-за существующих дублей, и выводить он будет тот же самый результат, что и у меня. Но, тем не менее, большое спасибо за помощь. Владислав Колосов, Вы правы, судя по всему решить эту задачу именно по таким условиям не представляется возможным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 16:56 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Eneimor, дубли(если они не нужны) устраняются дистинктом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 17:03 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Как-то так, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 18:18 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Еще вариант. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 20:15 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Еще вариант. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 20:17 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
EneimorК сожалению, задача сформулирована именно так. Мой вариант, который мне удалось найти, не исключает дублей, но необходимо, чтобы они не учитывались: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Зачем тут таблица B? Задача типовая. Решается через поле типа (select top 1 calldate from t1 b where b.task_id = a.task_id order by calldate desc). Работает быстро при наличии нужного индекса. А дубли легко удалить уже после. Никаких DISTINCT, group by, и агрегатных функций для решения этой задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 00:14 |
|
||
|
Запрос на получение диапазонов дат
|
|||
|---|---|---|---|
|
#18+
Поправил. where b.task_id = a.task_id and b.calldate <= a.calldate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 00:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39675877&tid=1689387]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 370ms |

| 0 / 0 |
