|
|
|
Помогите с логикой склад select sum
|
|||
|---|---|---|---|
|
#18+
Помогите с логикой склад Есть таблица движение ID DATE_OPER ID_OPER ID_GOODS QTY ID_FROM ID_TO REMARK ID_OPER 1-Приход 2-Перекидка 3-Продажа 4-Возврат 5-В Долг 6-Перекидка между точками POINTS -1 - Базар 1 - Склад 2 - ТОчка1 3 - Точка2 делаю приход ID - 1 DATE_OPER - 18.10.2013 ID_OPER - 1 ID_GOODS - 1 - Туфли QTY - 10 штук ID_FROM - Базар ID_TO - 1 Склад REMARK - Продаю Из склада ID - 2 DATE_OPER - 18.10.2013 ID_OPER - 3 ID_GOODS - 1 - Туфли QTY - 2 штук ID_FROM - 1 Склад ID_TO - Базар REMARK - Даю в долг Из склада ID - 3 DATE_OPER - 18.10.2013 ID_OPER - 5 ID_GOODS - 1 - Туфли QTY - 2 штук ID_FROM - 1 Склад ID_TO - Базар REMARK - В Долг 18.10.2013 Антону Перекидка Из склада на точку1 ID - 4 DATE_OPER - 18.10.2013 ID_OPER - 2 ID_GOODS - 1 - Туфли QTY - 2 штук ID_FROM - 1 Склад ID_TO - 2 Точка1 REMARK - Суммирую остаток на складе так Select sum(if id_oper in (2,3,5)-qty,qty) as "On hand" from moves where (id_from=1 or id_to=1) Остаток на точке1 суммирую так перекидка для точек как приход идет но точки тоже продают и в долг дают Select sum(if id_oper in (3,5)-qty,qty) as "On hand" from moves where (id_from=2 or id_to=2) Теперь возник вопрос как из точки сделать перекидку тоесть между точками пробавал так Перекидка Из точка1 на точка2 ID - 5 DATE_OPER - 18.10.2013 ID_OPER - 6 ID_GOODS - 1 - Туфли QTY - 2 штук ID_FROM - 2 Точка1 ID_TO - 3 Точка2 REMARK - У точка1 остаток 0 штук Select sum(if id_oper in (3,5,6)-qty,qty) as "On hand" from moves where (id_from=2 or id_to=2) У точка2 остаток -2 штук Select sum(if id_oper in (3,5,6)-qty,qty) as "On hand" from moves where (id_from=3 or id_to=3) Как правильно показать остаток чето туплю заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 16:12:38 |
|
||
|
Помогите с логикой склад select sum
|
|||
|---|---|---|---|
|
#18+
Чёта не нашёл я логики во всем этом потоке мысли. Операций бывает два типа. Приход и расход. Всё. Например, продажа - это просто разновидность расхода, возврат - разновидность прихода, а то, что ты называешь "перекидка" - это совокупность двух операций, прихода на одном складе и расхода на другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 16:19:54 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1835818]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 367ms |

| 0 / 0 |
