Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
межгрупповая проверка количества уникальных групп в 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. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97.
,[CustomerName]
,[ItemRelation]
,[ProductName]
,[ReturnCount]
,[DocumentNum]
,[DocumentDate]
,[IsPromo]
,[CustomerType]
,[CalendarYear]
FROM [Action].[dbo].[promo_return]
чтобы получить уникальные группы, я делаю так
SELECT [CustomerName]
,[ItemRelation]
,[DocumentNum]
,[CalendarYear]
,[CustomerType]
,Count(*) as cnt
FROM [Action].[dbo].[promo_return]
GROUP BY
[CustomerName]
,[ItemRelation]
,[DocumentNum]
,[CalendarYear]
,[CustomerType]
====
следующая таблица
SELECT [CustomerName]
,[ItemRelation]
,[DocumentNum]
,[CalendarYear]
,[CustomerType]
,[k]
,[m0]
,[x]
,[coef]
,[ActionEffect]
,[ActionSales]
,[SalesBefore]
FROM [Action].[dbo].[promo_effect1]
количество также считаем
Count(*) as cnt and GROUP BY
===
следующая таблица
SELECT [ItemRelation]
,[DocumentNum]
,[CalendarYear]
,[CustomerName]
,[CustomerType]
,[Return]
FROM [Action].[dbo].[returneff]
количество рассчитывается
Count(*) as cnt and GROUP BY
и последняя таблица
SELECT [Dt]
,[CustomerName]
,[ItemRelation]
,[ProductName]
,[SaleCount]
,[DocumentNum]
,[DocumentDate]
,[IsPromo]
,[CustomerType]
,[CalendarYear]
FROM [Action].[dbo].[promo_data]
количество групп расчитывается таким же образом
Count(*) as cnt and GROUP BY
SELECT [CustomerName]
,[ItemRelation]
,[DocumentNum]
,[CalendarYear]
,[CustomerType]
,Count(*) as cnt
FROM [Action].[dbo].[promo_data]
GROUP BY
[CustomerName]
,[ItemRelation]
,[DocumentNum]
,[CalendarYear]
,[CustomerType]
все эти таблицы должны иметь одинаковое число групп
[CustomerName]+[ItemRelation]+[DocumentNum]+[CalendarYear]+[CustomerType]
предположим, число уникальных групп = 9658 во всех этих таблицах. Как сделать, чтобы все таблицы были перепроверены друг с другом на количество уникальных групп? и если между одной или всеми таблицами существует различное количество уникальных групп, тогда должно быть окно с предупреждением что таблицы отличаются от уникальной группы. я решил пойти легким путем Код: 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. по идеи мне должно вернуться 9658 групп, но 1. мне возвращается 3414 2. все помечены как tables have different of unique group чего не может быть по определению там точно одинаковое количество групп, ручная проверка. Более того не может быть, чтобы было везде 9658 групп, но разных например в одной таблице 9658 групп и есть группа 1+2+4+5+6 в другой тоже, но там 2+3+4+8+9, но нет 1+2+4+5+6 Количество везде одинаковое и название групп тоже везде одно и тоже Как мне правильно составить запрос для проверки одинаковости количества групп в этих табличках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2018, 14:40 |
|
||
|
межгрупповая проверка количества уникальных групп в sql
|
|||
|---|---|---|---|
|
#18+
Kontox Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Не понимаю ваших терминов. Что такое "группы"? Вторым запросом вы получаете количество записей для каждого кастомера (скажем, количество документов, или продуктов, или ещё чего то, что записывается в эту таблицу) Для других таблиц вы тоже получаете количество записей для каждого кастомера (но записи там другие, ведь таблицы-то разные) Итоговый запрос показывает, разное или одинаковое, количество записей для каждого кастомера в этих таблицах. Kontoxпо идеи мне должно вернуться 9658 групп, ноЭээ, вы имеете в виду, запрос должен вернуть 9658 записей? Ну, в первой таблице 9658 кастомеров, во второй ещё сколько то. Ваш запрос возвращает столько записей, сколько одинаковых кастомеров во всех этих таблицах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2018, 00:19 |
|
||
|
межгрупповая проверка количества уникальных групп в 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. тут вот пример групп, уникальных во всех таблицах этот дистинк групп SELECT [CustomerName] ,[ItemRelation] ,[DocumentNum] ,[CalendarYear] ,[CustomerType] ,Count(*) as cnt одинаковый но почему возвращается3414 записи В идеале я хочу такой формат вывода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2018, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=132&tid=1689030]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 386ms |

| 0 / 0 |
