Factory System SP Product Detail
ProductArticle SelectBy IdProduct OrderBy ArticleType ArticleName
Probleem
Een bepaald product met alle artikelen waaruit dat product bestaat. De lijst van de deze artikelen is geordend op ArticleType en dan op Name. Per type wordt het subtotaal berekend. Op het einde wordt het totaal van alle artikelen berekend.
Design
Product | ||||||
quantiteit | eenheid | eenheidsprijs | totale kost | |||
MP | code artikel 1 | naam | 3 | m | 15.6 | 46.8 |
MP | code artikel 2 | naam | 4 | p | 0.5 | 2 |
MP | code artikel 3 | naam | 3 | m | 12 | 36 |
Subtotaal MP | 84.8 | |||||
AC | code artikel 10 | naam | 6 | p | 1.5 | 9 |
AC | code artikel 2 | naam | 14 | p | 0.5 | 7 |
AC | code artikel 4 | naam | 6 | p | 4 | 24 |
Subbtotaal AC | 40 | |||||
MO | code artikel 11 | naam | 30 | min | 1 | 30 |
MO | code artikel 14 | naam | 10 | min | 0.5 | 5 |
MO | code artikel 7 | naam | 90 | min | 1 | 90 |
MO | code artikel 8 | naam | 30 | min | 1 | 30 |
Subtotaal MO | 155 | |||||
Totaal product | 279.8 |
Oplossing
-- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 16th of August 2015 10:36:09 AM -- DML ProductArticleSelectByIdProductOrderByArticleTypeArticleName Stored Procedure for table ProductArticle -- selecteer alle artikelen van een product geordend op ArticleType, ArticleNumber -- USE MikMak; DROP PROCEDURE IF EXISTS ProductArticleSelectByIdProductOrderByArticleTypeArticleName; DELIMITER // CREATE PROCEDURE `ProductArticleSelectByIdProductOrderByArticleTypeArticleName` ( pIdProduct INT ) BEGIN SELECT `IdProduct-Article`.`Name` as IdProductName, `ProductArticle`.`IdProduct`, `IdArticle-Article`.`Name` as IdArticleName, `ProductArticle`.`IdArticle`, `IdArticle-Article`.`Number` as IdArticleNumber, `ProductArticle`.`Id`, `IdArticle-Article`.`UnitPrice` as IdArticleUnitPrice, `ArticleType`.`Code` as ArticleTypeCode, `ProductArticle`.`Quantity` as Quantity FROM `ProductArticle` INNER JOIN `Article` as `IdProduct-Article` ON `ProductArticle`.`IdProduct` = `IdProduct-Article`.`Id` INNER JOIN `Article` as `IdArticle-Article` ON `ProductArticle`.`IdArticle` = `IdArticle-Article`.`Id` INNER JOIN `ArticleType` ON `IdArticle-Article`.`IdArticleType` = `ArticleType`.`Id` WHERE `ProductArticle`.`IdProduct` = pIdProduct GROUP BY IdArticleNumber ORDER BY `ArticleType`.`Code`, IdArticleNumber; END // DELIMITER ; call ProductArticleSelectByIdProductOrderByArticleTypeArticleName(190);
2015-11-27 13:59:13