VbzCart/docs/procs/Upd TitleIttyps fr CatItems Titles: Difference between revisions
Jump to navigation
Jump to search
imported>Woozle (New page: ==About== * '''Purpose''': fills {{vbzcart|table|_title_ittyps}}. * '''Input''': {{vbzcart|table|cat_items}}, {{vbzcart|table|cat_titles}} * '''Output''': {{vbzcart|table|_title_ittyps}} (...) |
imported>Woozle (created in db) |
||
Line 7: | Line 7: | ||
*** Removed "WHERE i.isForSale" because this prevented the availability of discontinued items from being properly zeroed out | *** Removed "WHERE i.isForSale" because this prevented the availability of discontinued items from being properly zeroed out | ||
*** Added cntInStock calculation; see table schema | *** Added cntInStock calculation; see table schema | ||
** '''2010-11-10''' | |||
*** Added DROP PROCEDURE for easier maintenance. | |||
*** Actually created in database (procs did not get ported from L48 to Rizzo). | |||
* '''Notes''': | * '''Notes''': | ||
** This is a revised version which combines two earlier procedures. | ** This is a revised version which combines two earlier procedures. | ||
** I had a note that "the ID_Dept field is informational, not a grouping", but I don't remember what that meant and it doesn't make sense. | ** I had a note that "the ID_Dept field is informational, not a grouping", but I don't remember what that meant and it doesn't make sense. | ||
==SQL== | ==SQL== | ||
<section begin=sql /><mysql>CREATE PROCEDURE Upd_TitleIttyps_fr_CatItems_Titles() | <section begin=sql /><mysql>DROP PROCEDURE IF EXISTS Upd_TitleIttyps_fr_CatItems_Titles; | ||
CREATE PROCEDURE Upd_TitleIttyps_fr_CatItems_Titles() | |||
REPLACE INTO _title_ittyps( | REPLACE INTO _title_ittyps( | ||
ID_Title, | ID_Title, |
Revision as of 12:43, 10 November 2010
About
- Purpose: fills Template:Vbzcart.
- Input: Template:Vbzcart, Template:Vbzcart
- Output: Template:Vbzcart (replace)
- History:
- 2007-09-20
- Removed "WHERE i.isForSale" because this prevented the availability of discontinued items from being properly zeroed out
- Added cntInStock calculation; see table schema
- 2010-11-10
- Added DROP PROCEDURE for easier maintenance.
- Actually created in database (procs did not get ported from L48 to Rizzo).
- 2007-09-20
- Notes:
- This is a revised version which combines two earlier procedures.
- I had a note that "the ID_Dept field is informational, not a grouping", but I don't remember what that meant and it doesn't make sense.
SQL
<section begin=sql /><mysql>DROP PROCEDURE IF EXISTS Upd_TitleIttyps_fr_CatItems_Titles; CREATE PROCEDURE Upd_TitleIttyps_fr_CatItems_Titles()
REPLACE INTO _title_ittyps( ID_Title, ID_ItTyp, ID_Dept, TitleName, cntForSale, cntInPrint, cntInStock, qtyInStock, currMinPrice, currMaxPrice) SELECT i.ID_Title, i.ID_ItTyp, t.ID_Dept, t.Name AS TitleName, i.cntForSale, i.cntInPrint, i.cntInStock, i.qtyInStock, i.currMinPrice, i.currMaxPrice FROM ( SELECT ID_Title, ID_ItTyp, SUM(IF(isForSale,1,0)) AS cntForSale, SUM(IF(isInPrint,1,0)) AS cntInPrint, SUM(IF(qtyInStock>0,1,0)) AS cntInStock, SUM(qtyInStock) AS qtyInStock, MIN(PriceSell) AS currMinPrice, MAX(PriceSell) AS currMaxPrice FROM cat_items AS i GROUP BY ID_Title, ID_ItTyp ) AS i LEFT JOIN cat_titles AS t ON i.ID_Title=t.ID;</mysql>
<section end=sql />