|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Добрый день, У меня есть таблица, в которой есть записи по опциям баз в разных средах, столбец [Environment] (production, development). Базы разбиты на группы ([DBGroupID]). Ниже запрос из этой таблицы который показывает ее структуру. Мне нужно написать запрос, который покажет опции, которые отличаются для одной и той же базы (столбец [name]) из одной группы. Что-то типа: Код: sql 1. 2. 3. 4.
Спасибо. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 05:58 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Схематично - например так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 07:53 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Akina Схематично - например так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Такой запрос придется писать для каждой опции, которых десятки. Хотелось что-то более компактное. Я надеялся, что через Pivot что-то получится, сам не могу сообразить как написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 08:21 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 08:45 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
uaggster Код: 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.
Выдает ошибку: Conversion failed when converting the nvarchar value 'Production' to data type tinyint. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 08:57 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Roust_m, а так? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:12 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
uaggster Roust_m, а так? Код: sql 1.
А так работает без ошибок,но показывает все опции, также мне помимо номера группы, нужно еще имя базы а также очень желательно значения опции для обеих сред, что-то типа: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:20 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Roust_m Такой запрос придется писать для каждой опции, которых десятки. Хотелось что-то более компактное. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:41 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Можно через XML сделать. Ну, если у вас там не десятки сотен тысяч записей: Код: 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.
Динамический unpivot эта штука делает, а дальше все зависит от вашего определенияавторопции, которые отличаются для одной и той же базыИмхо, тут либо у меня русский язык сбоит, либо у вас... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:42 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Я также не совсем понимаю этого фильтра: Код: sql 1. 2. 3. 4. 5. 6. 7.
Набор опций для одной и тоже же базы из одной и той же группы в разных средах (Production, Development) одинаковый. Значения опций разные. Допустим в Production is_broker_enabled равен 1 а в Development равен 0. Я немножко запрос подкрутил, теперь он мне выдает почти то что мне нужно, осталось сравнение сделать и по средам строки в стобцы преобразовать: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:43 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Подкрутил нижнюю часть запроса, и теперь результат который мне нужен: Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 10:11 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Akina Roust_m Такой запрос придется писать для каждой опции, которых десятки. Хотелось что-то более компактное. Совершенно верно, не PIVOT а UNPIVOT. Я до этого неправильно написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 10:32 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Ennor Tiegael Можно через XML сделать. Ну, если у вас там не десятки сотен тысяч записей: Код: 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.
Динамический unpivot эта штука делает, а дальше все зависит от вашего определенияавторопции, которые отличаются для одной и той же базы Я не совсем понимаю как это работает, но завтра попробую. Мне нужно столбцы [DBGroupID], [name], [Environment] оставить, а остальные unpivot, причем один unpivot для production а другой для development. Запрос ниже это делает, вот только он немного громоздкий и зависит от числа столбцов (опций), которые отличаются в разных версиях сиквела. Хотелось бы сделать это независимым. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 10:38 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Модератор: Господа! Не умеете писать кратко, пользуйтесь тегом spoiler. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 11:16 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
uaggster Это на уровне сервера, мне надо опции баз сравнить. Некоторые опции теряются при бекапе и восстановлении, например: is_broker_enabled ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 06:44 |
|
|
start [/forum/topic.php?fid=46&fpage=50&tid=1685735]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 146ms |
0 / 0 |