Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Решаю задачу. Есть четыре таблицы: 1. @Таблица_Отгрузки. Данные по ТТ+SKU+Дата об отгрузкахКод юрлица Код ТТ Код номенклатуры Дата ОтгрузкиКод юрлица1 Код ТТ1 12344 2018-02-01 10Код юрлица1 Код ТТ1 12344 2018-02-02 5Код юрлица1 Код ТТ1 12344 2018-02-03 2Код юрлица1 Код ТТ1 12344 2018-02-04 3Код юрлица1 Код ТТ1 12600 2018-02-01 12Код юрлица1 Код ТТ1 12600 2018-02-02 8Код юрлица1 Код ТТ1 12600 2018-02-03 6Код юрлица1 Код ТТ1 12344 2018-02-04 4Код юрлица2 Код ТТ4 12344 2018-02-01 12Код юрлица2 Код ТТ4 12344 2018-02-02 8Код юрлица2 Код ТТ4 12344 2018-02-03 6Код юрлица2 Код ТТ4 12344 2018-02-04 4 2. @Таблица_Клиенты. Справочная таблицаКод клиента Код юрлица Вид клиента Прайс группаКод юрлица1 NULL 0 Прайс группа1Код ТТ2 Код юрлица1 0 NULLКод ТТ3 Код юрлица1 0 NULLКод ТТ4 Код юрлица1 0 NULLКод ТТ4 Код юрлица2 1 Прайс группа2 3. @Таблица_ГруппыПрайсов. Таблица прайс листов. Просто списокГруппа ценПрайс группа1Прайс группа2Прайс группа3 4. @Таблица_Цены. Таблица цены.AccountRelation Код номенклатуры Дата начала Дата окончания Цена Акционная цена АннулированоКод юрлица1 12344 2018-02-01 2018-02-02 150.00 0 0Код юрлица1 12344 2018-02-03 2018-02-04 160.00 0 0Код юрлица1 12600 2018-02-01 2018-02-02 170.00 0 0Код юрлица1 12600 2018-02-03 2018-02-04 175.00 0 0Код юрлица2 12344 2018-02-01 2018-02-02 155.00 0 0Код юрлица2 12344 2018-02-03 2018-02-04 165.00 0 0Код юрлица2 12600 2018-02-01 2018-02-02 125.00 0 0Код юрлица2 12600 2018-02-03 2018-02-04 135.00 0 0Код ТТ1 12344 2018-02-01 2018-02-02 150.00 0 0Код ТТ1 12344 2018-02-03 2018-02-04 152.00 0 0Код ТТ1 12600 2018-02-01 2018-02-02 160.00 0 0Код ТТ1 12600 2018-02-03 2018-02-04 172.00 0 0Код ТТ4 12344 2018-02-01 2018-02-02 150.00 0 0Код ТТ4 12344 2018-02-03 2018-02-04 152.00 0 0Код ТТ4 12600 2018-02-01 2018-02-02 160.00 0 0Код ТТ4 12600 2018-02-03 2018-02-04 172.00 0 0Прайс группа1 12344 2018-02-01 2018-02-02 150.00 0 0Прайс группа1 12344 2018-02-03 2018-02-04 152.00 0 0Прайс группа1 12600 2018-02-01 2018-02-02 160.00 0 0Прайс группа1 12600 2018-02-03 2018-02-04 172.00 0 0Прайс группа1 12344 2018-02-01 2018-02-02 150.00 0 0Прайс группа1 12344 2018-02-03 2018-02-04 152.00 0 0Прайс группа1 12600 2018-02-01 2018-02-02 160.00 0 0Прайс группа1 12600 2018-02-03 2018-02-04 172.00 0 0Прайс группа2 12344 2018-02-01 2018-02-02 150.00 0 0Прайс группа2 12344 2018-02-03 2018-02-04 152.00 0 0Прайс группа2 12600 2018-02-01 2018-02-02 160.00 0 0Прайс группа2 12600 2018-02-03 2018-02-04 172.00 0 0Прайс группа2 12344 2018-02-01 2018-02-02 150.00 00Прайс группа2 12344 2018-02-03 2018-02-04 152.00 0 0Прайс группа2 12600 2018-02-01 2018-02-02 160.00 0 0Прайс группа2 12600 2018-02-03 2018-02-04 172.00 0 0 Задача такая что нужно вытащить цену по соответствующей первой таблице, то есть по ТТ+SKU+Дата. Цену определяем таким образом, что сначала вытаскиваем из справочной таблицы Клиенты Прайс ТТ и Прайс юр лица , а потом по схеме: 1. Пробегаем по таблице @Таблица_Цены и ищем ТТ. Если не находим ТТ, то ищем переходим на следующий пункт 2. Пробегаем по таблице @Таблица_Цены и ищем прайс ТТ. Если не находим прайс ТТ, то ищем переходим на следующий пункт 3. Пробегаем по таблице @Таблица_Цены и ищем юр лицо. Если не находим юр лицо, то ищем переходим на следующий пункт 4. Пробегаем по таблице @Таблица_Цены и ищем прайс юр лица. У начального пункта цена самая приоритетная. То есть первый пункт приоритетнее 2, второй пункт приоритетнее 3, и т.д. Получается 1 и 3 пункт это индивидуальная цена, а 2 и 4 типа общая - прайсовая. Важно учесть,что если у цены не указана [Дата окончания], то это действующая цена. Написал SQL-запрос. Запутался с этими приоритетами. Не работает так как надо, дублируются строки. 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. 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. Не обращайте внимание что название полей на русском языке, это для примера и для понятности. Подскажите как правильно написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 13:25 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
ferzmikk, лефт джойним ВСЕ таблицы с ценами потом через coalesce(таблица1.Цена,таблица2.Цена ... таблица5.Цена) as Цена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 14:04 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
StarikNavyferzmikk, лефт джойним ВСЕ таблицы с ценами потом через coalesce(таблица1.Цена,таблица2.Цена ... таблица5.Цена) as Цена Получается вместо этого Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. пишу так Код: sql 1. 2. 3. 4. Возникает вопрос. Может ли быть такое, что, например, для какой то строки для обоих полей [Цена] и [Акционная цена] COALESCE возвращает соответственно не одинаковые приоритеты? Если да, то как можно избежать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 14:35 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
приоритеты задаются через список таблиц 1, 2, 3 можно одну и туже таблицу цеплять пару раз, с дополнительными условиями в джойне ну и , Код: sql 1. на совсем крайний случай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 16:13 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
StarikNavyприоритеты задаются через список таблиц 1, 2, 3 можно одну и туже таблицу цеплять пару раз, с дополнительными условиями в джойне ну и , Код: sql 1. на совсем крайний случай Как это в коде выглядит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 16:17 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
StarikNavyприоритеты задаются через список таблиц 1, 2, 3 можно одну и туже таблицу цеплять пару раз, с дополнительными условиями в джойне ну и , Код: sql 1. на совсем крайний случай Как в коде задаются приоритеты через список таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 08:23 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#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. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 21:00 |
|
||
|
Вытащить цены
|
|||
|---|---|---|---|
|
#18+
ferzmikkПодскажите как прописать условие. Запутался. Код: 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. В общем 1. Дублируются строки 2. Нужно правильно вывести значение поля [Акционная цена] с номером приоритета с соответствующим полученным номером приоритета поля [Цена] . Как правильно написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 14:21 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1689954]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 378ms |

| 0 / 0 |
