Mysql-CONCAT和GROUP_CONCAT組合使用場景
阿新 • • 發佈:2021-12-23
拼接一個頭明細資訊
甚至可以直接把結果,轉為實體或者xml或者json進行傳輸。
字串的操作
惜秦皇漢武,略輸文采;唐宗宋祖,稍遜風騷。 一代天驕,成吉思汗,只識彎弓射大雕。 俱往矣,數風流人物,還看今朝SELECT XBLNR, BUDAT, BLDAT, ZYKNR, UMWRK, UMLGO, WERKS, LGORT, CONCAT( '[', GROUP_CONCAT( CONCAT( '{"MATNR":"', IFNULL(MATNR, ''), '","ZYKNN":"', ZYKNN, '","ERFME":"', ERFME, '","ERFMG":', IFNULL(ERFMG, 0), '}' ) SEPARATOR ',' ), ']' ) ITEM FROM ( SELECT pod.purchaseOrderHeaderCode XBLNR, DATE_FORMAT(NOW(), '%Y%m%d') BUDAT, DATE_FORMAT(NOW(), '%Y%m%d') BLDAT, pod.sapPurchaseOrderCode ZYKNR, pod.sapFactory UMWRK, pod.sapWarehouseCode UMLGO, poh.sapOutFactoryCode WERKS, poh.sapOutWarehouseCode LGORT, pod.skuCode MATNR, pod.sapPurchaseOrderLineCode ZYKNN, IFNULL(pod.sapUnit, sku.orderUnit) ERFME, CASE IFNULL(pod.sapUnit, sku.orderUnit) WHEN sku.orderUnit THEN pod.receiptQty ELSE pod.receiptQty * IFNULL(sku.basicUnitNumerator, 1) / IFNULL(sku.basicUnitDenominator, 1) END ERFMG FROM purchase_order_detail pod INNER JOIN purchase_order_header poh ON poh.id = pod.purchaseOrderHeaderId INNER JOIN SKU ON sku.`code` = pod.skuCode AND poh.companyCode = sku.companyCode AND pod.receiptQty > 0 WHERE pod.purchaseOrderHeaderId =:id ) A GROUP BY XBLNR, ZYKNR, UMWRK, UMLGO