バージョン選択

フォーラム

メニュー

オンライン状況

79 人のユーザが現在オンラインです。 (70 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 79
もっと...

サイト内検索

質問 > 管理機能 > 受注データ CSV お届け先

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dondon
投稿日時: 2015/1/15 15:46
対応状況: −−−
一人前
登録日: 2012/2/23
居住地:
投稿: 136
受注データ CSV お届け先
仕様
PHP Version 5.3.3
MYSQL
EC-CUBE 2.11.4

受注データをCSV出力する様にSQLを作ったのですが、

配送先住所の部分

concat(p.name,shipping_addr01,shipping_addr02) as "配送先住所",

p.nameは配送先ではなく、注文者住所の都道府県ですよね。

私なりに調べて

mtb_pref 等に変更してみたのですが、SQL構文エラーになってしまいます。

どの様にすれば配送先の都道府県を指定できますか?
IPLOGIC
投稿日時: 2015/1/15 19:03
対応状況: −−−
一人前
登録日: 2014/12/8
居住地: 東京都
投稿: 96
Re: 受注データ CSV お届け先
dondon 様

受注CSVで配送先住所を取得したいということでよろしいでしょうか?

受注CSVはdtb_orderから取得されています。
配送先住所はdtb_shippingに登録されているので、受注CSVでダウンロード出来るようにするためにはdtb_shippingをleft joinなどして繋げる必要があります。
しかし、インデックスを貼らずにleft joinしてしまいますとレコードが数千件になったときSQLの応答が1分以上かかることがあります。
また、EC-CUBE側のPHPにもカスタマイズが必要になります。

以下一例ですが、配送先住所を取得するSQLです。

SELECT CONCAT((SELECT name FROM mtb_pref WHERE mtb_pref.id = dtb_shipping.shipping_pref), dtb_shipping.shipping_addr01, dtb_shipping.shipping_addr02 ) as deliv_addr from dtb_order left join dtb_shipping on dtb_order.order_id = dtb_shipping.order_id;


----------------
アイピーロジック株式会社
EC-CUBE専用メール配信サービス「PostCarrier for EC-CUBE」
[url=http://www.rakusite.net/]EC-CUBE専用サイト保守監視サービス「らくらくサイト保守

yuh
投稿日時: 2015/1/16 0:38
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 受注データ CSV お届け先
配送先ごとに送る商品も関連付けするのであればdtb_shipment_itemもJOINする必要がありますよー。
dondon
投稿日時: 2015/1/16 14:08
対応状況: −−−
一人前
登録日: 2012/2/23
居住地:
投稿: 136
Re: 受注データ CSV お届け先
皆様、ご指導ありがとうございます。

今現在下記で、「お届け先の都道府県が注文者の都道府県になってしまう」以外は正常に動いております。

下記をどの様に変えればお届け先の都道府県を読み込めますでしょうか。

ご教授頂けたら幸いです。



o.order_id as "オーダー番号",
o.create_date as "受注日",
product_code as "商品コード",
CONCAT( product_name, IFNULL(classcategory_name1, ''), IFNULL(classcategory_name2, '') ) AS '商品名',
quantity as "数量",
price as "価格",
deliv_fee as "送料",
charge as "手数料",
total as "合計金額",
shipping_date as "配送日",
concat(shipping_name01, shipping_name02) as "宛名",
o.message as "メモ欄",
shipping_time as "配送時間",
payment_method as "決済方法",
concat(shipping_zip01,shipping_zip02) as "配送先郵便番号",
concat(p.name,shipping_addr01,shipping_addr02) as "配送先住所",
concat(shipping_tel01,shipping_tel02,shipping_tel03) as "電話番号",
o.order_email AS "メールアドレス"
FROM
dtb_order AS o
LEFT JOIN
dtb_order_detail AS d
ON
o.order_id = d.order_id
LEFT JOIN
dtb_shipping AS s
ON
o.order_id = s.order_id
LEFT JOIN
mtb_pref AS p
ON
p.id = o.order_pref
LEFT JOIN
dtb_customer AS c
ON
o.customer_id = c.customer_id
WHERE
o.status = 1
AND
o.del_flg = 0
AND
NOT EXISTS (SELECT * FROM dtb_shipment_item AS si WHERE s.order_id = si.order_id AND s.shipping_id = si.shipping_id)
ORDER BY o.order_id引用:

yuhさんは書きました:
配送先ごとに送る商品も関連付けするのであればdtb_shipment_itemもJOINする必要がありますよー。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,886名です
総投稿数は110,000件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.