Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Привет. Как пример, есть 2 строки.В них описывается одинаковый товар с 2 складов. Как сделать если в одном складе значение 0, то и во вторую строчку с другим названием склада добавилось бы значение 0. На примере если в складе 'Pakavimo t' Poreikis='0' то в складе 'Pakavimo' нужен результат тоже Poreikis='0' или можно эти значения в другом столбике записать. Пример прикреплён ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 12:28 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 12:42 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
например Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 12:45 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
А без Update можно ? Это уже Views . Может в нём можно что то сделать ? моя логика работает так, но не знаю как это написать правильно SQL серверу. Case when data = data AND pre_kod = pre_kod AND expr1 = expr1 в складе san_kod='PAKAVIMO T' Poreikis='0' THEN в складе san_kod='PAKAVIMO' Poreikis='0' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 12:52 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Vadim ZЭто уже Views . Может в нём можно что то сделать ?как пример Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 13:01 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Вам надо просто выбрать, а не обновить? Тогда, может, заработает такое вот: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 13:24 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Во всяком случае sqlfiddle говорит, что так можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 13:28 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
AkinaВо всяком случае sqlfiddle говорит, что так можно. А скриншот от ТС говорит, что у него SQL Server 2000, и ему так нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:10 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Minamotoскриншот от ТС говорит, что у него SQL Server 2000Ну слабоват я в скриншотах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:30 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
MS Server 2014 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 15:17 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
AkinaВам надо просто выбрать, а не обновить? Тогда, может, заработает такое вот: Код: sql 1. можно здесь поподробней, под мой вариант написать ? WHEN 0 = MIN(количество) что здесь имеется ввиду за 0 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:37 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Может можно их как то объединить, оставить только ту, где Poreikis=0 ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:49 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Vadim Z, дык full outer join + coalesce(sklad1, sklad2, 0). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:53 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Или я не понял задачу и в результат требуется добавить строки, не существующие на одном из складов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 17:57 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Vadim Z, главный вопрос... в этом вашем Poreikis могут быть значения меньше нуля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:14 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Дедушка, Poreikis не может быть меньше нуля. Poreikis=0 тогда, когда в складе PAKAVIMO T остаток больше чем Expr1. Если это выполняется, то остаток в складе PAKAVIMO не интересует и это строка может не показываться или присвоить ей тоже значение 0. И потом делать выборку всё кроме 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:43 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Vadim Zможно здесь поподробней, под мой вариант написать ?Что - подробнее? большая проблема заменить имена полей на свои? Vadim ZWHEN 0 = MIN(количество) что здесь имеется ввиду за 0 ?Ноль - это число такое... постоянное... константа типа. Небось WHEN x=0 не удивит? Так почему WHEN 0=x удивляет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 20:46 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
AkinaVadim Zможно здесь поподробней, под мой вариант написать ?Что - подробнее? большая проблема заменить имена полей на свои? Vadim ZWHEN 0 = MIN(количество) что здесь имеется ввиду за 0 ?Ноль - это число такое... постоянное... константа типа. Небось WHEN x=0 не удивит? Так почему WHEN 0=x удивляет? data - дата pre_kod - код товара expr1 - нужное количество likutis - остаток в складе san_kod- склад Poreikis - если в складе PAKAVIMO T количество больше или ровно нужному количеству то 0, иначе нужное количество. pppp-если в в складе PAKAVIMO T POREIKIS=0 то pppp=0 и в складе PAKAVIMO тоже должно оказаться pppp=0 Выражение будет выглядеть так ?: SELECT data, pre_kod, expr1, likutis, san_kod, poreikis, pppp , CASE WHEN 0 = MIN(expr1) OVER (PARTITION BY pre_kod) THEN 0 ELSE expr1 END as proba так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 21:44 |
|
||
|
Запрос на проверку строк
|
|||
|---|---|---|---|
|
#18+
Удалённо попробовал, вроде результат нужный. Спасибо. Завтра отпишусь всё ли получилось. Вот код который прошёл: Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 22:27 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39581674&tid=1690547]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 315ms |

| 0 / 0 |
