Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть поле ТипСвязиТТ и имеет 4 значения: 0 - Это по всему юр лицу 1 - Это по первому признаку объединения ТТ 2 - Это по второму признаку объединения ТТ 3 - Это по непосресдственной одной ТТ Есть первая таблица. Список мероприятии с участвующими SKU КодМероприятияЮрЛицоТипСвязиТТКодТТНачалоМероприятияКонецМероприятияSKU00100111002.01.201803.01.2018SKU100200111101_00103.01.201804.01.2018SKU200300111202_00204.01.201805.01.2018SKU30040011130000405.01.201806.01.2018SKU40040011130000405.01.201806.01.2018SKU1 В одном мероприятии могут участвовать больше одной SKU, но периоды одинаковые. См. строки с кодами мероприятии 004. Есть вторая таблица. Список ТТ КодТТ ЮрЛицоПервыйПризнакОбъединенияВторойПризнакОбъединения000010011101_00102_001000020011101_00102_002000030011101_00202_003000040011101_00202_002 Нужно получить такую таблицуКодМероприятияЮрЛицоКодТТSKUДатаМероприятия0010011100001SKU102.01.20180010011100001SKU103.01.20180010011100002SKU102.01.20180010011100002SKU103.01.20180010011100003SKU102.01.20180010011100003SKU103.01.20180010011100004SKU102.01.20180010011100004SKU103.01.20180020011100001SKU203.01.20180020011100001SKU204.01.20180020011100002SKU203.01.20180020011100002SKU204.01.20180030011100002SKU304.01.20180030011100002SKU305.01.20180030011100004SKU304.01.20180030011100004SKU305.01.20180040011100004SKU405.01.20180040011100004SKU406.01.20180040011100004SKU105.01.20180040011100004SKU106.01.2018 Начал писать запрос и запутался. 1. Насколько я правильно понимаю, что на первом этапе создаем первую промежуточную таблицу: по каждому мероприятию создаем строки SKU+Дата. На втором этапе создаем вторую промежуточную таблицу: по каждому мероприятию создаются строки непосредственно участвующие ТТ, отобранные с помощью типов связи. На третьем этапе - Соединяем первую и вторую промежуточную таблицу. Для данной задачи по такому алгоритму нужно решать? 2. Для первого этапа пытаюсь использовать такую идею . Что то не получается. Как правильно написать запрос? SQL-Запрос с исходными данными Код: 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. Если писать так Код: sql 1. 2. 3. 4. то пишет что нужно объявить скалярные переменные. А если убрать знак @, то пишет, что не удалось привязать составной идентификатор. Почему так? И возможно ли обойтись без @ПромежуточнаяТаблицаДаты? Все таки изначально не знаем какие начальные и конечные даты должны быть в этой таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 13:48 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
По-моему, во второй таблице упущено поле SKU... без него не очень срастается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 14:29 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#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. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 14:51 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
AkinaПо-моему, во второй таблице упущено поле SKU... без него не очень срастается. Вторая таблица отображает список ТТ и не имеет связи с SKU. Таблица отображает какая именно ТТ относится в группе для первого признака и в какой группе для второго признака, и какое юридическое лицо. Потом с помощью поля "Тип связи" и "Код ТТ" из первой таблицы вытаскиваются коды ТТ. Поле "Код ТТ" из первой таблицы, это не только код ТТ, но и Коды полей "ПервыйПризнакОбъединения" "ВторойПризнакОбъединения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 14:59 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
Руслан Дамирович , я бы условие tt.[ЮрЛицо] = mm.[ЮрЛицо] в секции ON вынес за пределы CASE... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 16:35 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
Akina Руслан Дамирович , я бы условие tt.[ЮрЛицо] = mm.[ЮрЛицо] в секции ON вынес за пределы CASE... Когда будем оптимизировать - несомненно. Но в общем случае и в отсутствие информации об индексах - возле птиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 18:30 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
Руслан Дамирович, Спасибо, разбираю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 20:07 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
ferzmikkЕсли писать так Код: sql 1. 2. 3. 4. то пишет что нужно объявить скалярные переменные. А если убрать знак @, то пишет, что не удалось привязать составной идентификатор. Почему так? Это бы понять еще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 20:09 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
Руслан ДамировичAkina Руслан Дамирович , я бы условие tt.[ЮрЛицо] = mm.[ЮрЛицо] в секции ON вынес за пределы CASE... Когда будем оптимизировать - несомненно. Но в общем случае и в отсутствие информации об индексах - возле птиц.А куда вынести за пределы CASE? В WHERE затолкать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 20:53 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#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. Получается [Дата] до UNION ALL присваивается один раз. Дальше начинается цикл: [Дата] из функции DATEADD и WHERE берется из последнего [Дата], и далее присваивается новое [Дата] после UNION ALL SELECT. Аналогично по следующей итерации. Верно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 21:11 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
Да, обычное такое CTE с иерархией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 09:01 |
|
||
|
Вопрос по SQL-запросу
|
|||
|---|---|---|---|
|
#18+
ferzmikkferzmikkЕсли писать так Код: sql 1. 2. 3. 4. то пишет что нужно объявить скалярные переменные. А если убрать знак @, то пишет, что не удалось привязать составной идентификатор. Почему так? Это бы понять еще Код: sql 1. Или применять алиасы, что лучше всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2018, 09:12 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1690531]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 394ms |

| 0 / 0 |
