Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
Доброе утро. Ребят, у меня проблемка и я не знаю с какой стороны к ней подобраться. Есть у меня выборка, которая показывает какие данные загружены в базу данных. В моем случае, это данные геофизического каротажа, то есть ИМЯ СКВАЖИНЫ, ГАММА, ВЫЗВ.ПОЛЯРИЗАЦИЯ, КАЖ.СОПРОТИВЛЕНИЕ и т.д. Вот такие столбцы. Если эти значения есть в базе, то "да", если пусто, то "нет". Но тут вдруг всплыло, что иногда замеры начинали с середины скважины, то есть до 50м, к примеру гамма не замеряли, а от 50 до 100 измерили, а потом снова не замеряли, вот и получается, что он мне по 3-4 раза одну скважину рисует. А мне надо, чтобы "если хоть где-то по скважине есть "да", то он на всю скважину ставил "да" и глубины меня не интересуют. Пыталась использовать Код: sql 1. но не вышло Помогите идеями, пожалуйста. В какую сторону смотреть? Код: 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. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. Кажется у меня кривые руки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2018, 07:38 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
А Вы просто получите MIN([Поле с да/нет]) OVER (PARTITION BY [Скважина])) . Если есть хотя бы одно "да" - то и получите "да", иначе получите "нет". Ну или там MAX(CASE [Поле с да/нет] WHEN "да" THEN 1 ELSE 0 END) OVER (PARTITION BY [Скважина])) . От него и пляшите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2018, 07:45 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
спасибо большое за идею, сейчас попробую Akina, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2018, 09:07 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
Akina, блин, никак не выходит, еще больше дублировать стало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2018, 11:03 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
katish444еще больше дублировать сталоДа быть не может! как может увеличиться количество записей??? А идея вполне себе работает, см. http://www.sqlfiddle.com/#!18/a74f3/1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2018, 11:44 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
katish444Akina, блин, никак не выходит, еще больше дублировать стало...У вас ошибка в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2018, 21:20 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
alexeyvg, не могли бы вы указать на ошибку, пожалуйста. Не могу ее найти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2018, 08:41 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
Akina, ого, какой клевый сайт. Даже не знала что так можно. Спасибо! Буду свои скрипты тестить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2018, 08:43 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
katish444alexeyvg, не могли бы вы указать на ошибку, пожалуйста. Не могу ее найтиВы бы код свой показали, как можно найти ошибку в запросе, не видя запроса??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2018, 17:45 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
Действительно, http://www.sqlfiddle.com очень интересная штука для определенных вещей. Спасибо . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 02:41 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
katish444А мне надо, чтобы "если хоть где-то по скважине есть "да", то он на всю скважину ставил "да" и глубины меня не интересуют. Ну так делайте промежуточную таблицу "Скважина", "да/нет" И потом обновите основную таблицу данными из неё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 04:02 |
|
||
|
Как бы объяснить SQL чтобы при наличии хоть одного "да", он ставил "да"!
|
|||
|---|---|---|---|
|
#18+
Сорри, собственно говоря примерно это же было предложено и ранее. Другое дело, что проблема "дублирования" это не вопрос да/нет, а проблема группировки после которой надо уже реализовывать агрегатные функции. Или "дублирование у вас, это не "наличие нескольких строк по одному ID", а "наличие разных признаков у строк с одним ID"? Хотя если " глубины меня не интересуют", то группировка должна быть по скважине, чего сейчас нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 04:38 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1689705]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 432ms |

| 0 / 0 |
