0
我想組這個「虛」表柱上進行(的幾個結果加入,如果公司)MySQL的:集團colums沒有與空
表,它是如何:
ProductID PriceForOneYear PriceForTwoYears PriceForThreeYears PriceForFourYears PriceForFiveYears
1 1.00 NULL NULL NULL NULL
1 NULL 1.50 NULL NULL NULL
1 NULL NULL 2.00 NULL NULL
1 NULL NULL NULL 2.50 NULL
1 NULL NULL NULL NULL 3.00
2 5.00 NULL NULL NULL NULL
2 NULL 5.50 NULL NULL NULL
2 NULL NULL 6.00 NULL NULL
2 NULL NULL NULL 6.50 NULL
2 NULL NULL NULL NULL 7.00
表,它應該如何:
ProductID PriceForOneYear PriceForTwoYears PriceForThreeYears PriceForFourYears PriceForFiveYears
1 1.00 1.50 2.00 2.50 3.00
2 5.00 5.50 6.00 6.50 7.00
NULL應該掉出來。
任何想法?
到目前爲止,我嘗試過「GROUP BY ..」和GROUP_CONCATE(DISTINCT ..)。
查詢創建我的 「虛表」:
SELECT
`tblproducts`.`id` AS `productid`,
IF(`tblproductconfigoptionssub`.`optionname` = '1', `tblpricing`.`monthly`, NULL) AS `priceforoneyear`,
IF(`tblproductconfigoptionssub`.`optionname` = '2', ROUND(`tblpricing`.`monthly`/2, 2), NULL) AS `pricefortwoyears`,
IF(`tblproductconfigoptionssub`.`optionname` = '3', ROUND(`tblpricing`.`monthly`/3, 2), NULL) AS `priceforthreeyears`,
IF(`tblproductconfigoptionssub`.`optionname` = '4', ROUND(`tblpricing`.`monthly`/4, 2), NULL) AS `priceforfouryears`,
IF(`tblproductconfigoptionssub`.`optionname` = '5', ROUND(`tblpricing`.`monthly`/5, 2), NULL) AS `priceforfiveyears`
FROM `tblproducts` INNER JOIN `tblproductconfigoptionssub` ON `tblproducts`.`id` = `tblproductconfigoptionssub`.`configid` INNER JOIN `tblpricing` ON `tblproductconfigoptionssub`.`id` = `tblpricing`.`relid` WHERE `tblproducts`.`gid` = '1' AND `tblpricing`.`type` = 'configoptions';
使用'COALESCE'。 – Wrikken