1

注文レポート リストに次の Opencart モジュールを追加しました... http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3597&filter_search=order%20list%20filter%20model&page=4

「製品」列に問題があります。複数のオプションがある場合、製品名が複数回出力されます。したがって、オプションが 3 つある製品を入手した場合、製品名は 3 回表示されます。この問題を解決する方法はありますか?

製品名と型番を一度だけ印刷したいのですが、何かアイデアはありますか?

私が今得た結果を添付します... ここに画像の説明を入力

これは私のSQLクエリです...

public function getOrders($data = array()) { 
$sql = "select o.order_id,o.email,o.telephone,CONCAT(o.shipping_address_1, ' ', o.shipping_address_2) AS address,CONCAT(o.firstname, ' ', o.lastname) AS customer,o.payment_zone AS state,o.payment_address_2 AS block, o.payment_address_1 AS address,o.payment_postcode AS postcode,(SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS  status,o.payment_city AS city,GROUP_CONCAT(pd.name) AS pdtname,GROUP_CONCAT(op.model) AS model,o.date_added,sum(op.quantity) AS quantity,GROUP_CONCAT(opt.value ) AS options, GROUP_CONCAT(opt.order_product_id )  AS ordprdid,GROUP_CONCAT(op.order_product_id )  AS optprdid, GROUP_CONCAT(op.quantity) AS opquantity from `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_product op ON (op.order_id = o.order_id)  LEFT JOIN " . DB_PREFIX . "product_description pd ON (pd.product_id = op.product_id and pd.language_id = '" . (int)$this->config->get('config_language_id') . "') LEFT JOIN " . DB_PREFIX . "order_option opt ON (opt.order_product_id = op.order_product_id) ";

製品名 =GROUP_CONCAT(pd.name) AS pdtname,

4

1 に答える 1

1

追加DISTINCT

GROUP_CONCAT(DISTINCT pd.name)
于 2012-11-07T10:58:11.913 に答える