Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос на сборку суммы с выводом цен. 
V
    Опции темы
xoslv
Дата 14.6.2009, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Доброго времени суток! 
Нужна подсказка срочная, помогите пожалуйста!
Есть БД:
Код

+----+-----+------+--------+---------+-----------------+
| id | aid | type | count  | price     | date              |
+----+-----+------+--------+---------+-----------------+
|  5  |   2  |    0 | 100      | 0.50      | 2009-05-25 |
|  6  |   8  |    0 | 120      | 0.65      | 2009-05-25 |
|  7  |  66 |    0 | 400      | 0.13      | 2009-05-25 |
|  8  |   3  |    0 | 350      | 0.60      | 2009-06-08 |
|  9  |  52 |    0 | 220      | 0.80      | 2009-06-14 |
| 10 |  43 |    0 | 150      | 1.89      | 2009-06-14 |
| 11 |  41 |    0 | 44.65   | 0            | 2009-06-14 |
| 12 |  41 |    0 | 105.35 | 1.1645 | 2009-06-14 |
| 13 |  47 |    0 | 28         | 0.7857 | 2009-06-14 |
| 14 |  42 |    0 | 100       | 0.50     | 2009-06-14 |
| 15 |  14 |    0 | 50         | 0.85     | 2009-06-14 |
| 16 |  46 |    0 | 60.8      | 0.94     | 2009-06-14 |
+----+-----+------+--------+----------+----------------+

В этой таблице хранится ИД ассортимента, кол-во, цена, дата поставки.
Мне необходимо списать 52.30 кг. сыръя под ИД 41. При этом мне надо выбрать цену(ы, если это не одна строка) по которой это сыръё будет списанно и кол-во которое было списанно по этой цене, после чего строку в которой остаток по кол-ву составит 0, стереть.
Как правильно построить запрос или запросы? 
Идеальный вариант объединять несколько запросов в один. 
П.С. В первую очередь списываться то что раньше пришло!
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
Akina
Дата 14.6.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(xoslv @  14.6.2009,  22:58 Найти цитируемый пост)
Как правильно построить запрос или запросы? 

Правильно - почитать основы складского учёта. То, что Вы описываете (хотите получить), противоречит им.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
xoslv
Дата 15.6.2009, 00:35 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Akina, я не бухгалтер!
Если я что-то сформулировал не так, а Вы меня поняли, можно было просто поправить, а не заставлять фермера танцевать в балете!
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
Akina
Дата 15.6.2009, 08:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(xoslv @  15.6.2009,  01:35 Найти цитируемый пост)
я не бухгалтер!

Я тоже. Однако прежде чем браться за что-то, я обязательно изучу предметную область хотя бы в основах. Чтобы понимать, что и как нужно делать.

Цитата(xoslv @  15.6.2009,  01:35 Найти цитируемый пост)
Если я что-то сформулировал не так, а Вы меня поняли, можно было просто поправить

Лекцию об основах складского учёта прочитать? А может, сразу всё приложение за тебя написАть - чего уж мелочиться? Кладовщик, который знает основы учёта, не станет писАть программу - он не владеет одним из необходимых навыков, программированием. А чем ты его лучше?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
xoslv
Дата 15.6.2009, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Ok! Нечего тут спорить... Мне это надо в дополнение. Всего лиш один такой файл. 
Списывать мне надо по методу фифо. И необходимо сохранять цены сыръя по которым оно списанно.
Я уже написал скрипт который находит нужную строку и если колво = или больше, он списывает одним махом, а если кол-во меньше списывает одно кол-во отнимая от переменной с общим кол-вом и ищет следующую....

Но что-то мне ненравится как это всё происходит и много запросов получается.
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
Akina
Дата 15.6.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(xoslv @  15.6.2009,  11:41 Найти цитируемый пост)
Списывать мне надо по методу фифо.

Уже лучше.

Цитата(xoslv @  15.6.2009,  11:41 Найти цитируемый пост)
Я уже написал скрипт который находит нужную строку и если колво = или больше, он списывает одним махом, а если кол-во меньше списывает одно кол-во отнимая от переменной с общим кол-вом и ищет следующую....

Но что-то мне ненравится как это всё происходит и много запросов получается. 

Логика верная. Только её надо вынести на сервер, в хранимую процедуру. И тогда всё будет нормально.
В крайнем случае поиграть курсорами - но первый вариант более логичен и менее накладен.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
xoslv
Дата 15.6.2009, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Относительно процедуры дело обстоит так. Происходит ето всё на ПХП, какбы странно это не казалось. И вызываться фунция будет вручную по необходимости, т.е. если происходят какие-то манипуляции с сыръём. Просто хочется большую часть действий переложить на сам мускуль, чтобы меньше грузить апач и пхп... Поскольку сырья будет не 15 строк а как минимум 150 и таблица с содержимым будет содержать примерно 1000 записей...  Мне кажется что если переложит большую часть задачи на мускуль то будет происходить быстрее!
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
Akina
Дата 15.6.2009, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



А хранимую процедуру кто, по-твоему, выполнять будет? Именно MySQL.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
xoslv
Дата 15.6.2009, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Spasibo za konsuljtaciju! Poka ostavlju kak estj, esli pojavjatsja novie voprosi, budu prodlevatj temu!
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
xoslv
Дата 16.6.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Люди простите! Косяк найден!  smile  smile 

Это сообщение отредактировал(а) xoslv - 16.6.2009, 23:07
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1328 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.