バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 「CSV出力設定」⇒「高度な設定」の出力内容について

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hal0413
投稿日時: 2016/2/22 18:50
対応状況: 確認中
新米
登録日: 2015/4/13
居住地:
投稿: 7
「CSV出力設定」⇒「高度な設定」の出力内容について
EC-CUBE 2.13.3管理画面内、「コンテンツ管理」⇒「CSV出力設定」⇒「高度な設定」にて
下記のSQL文を出力すると、複数届け先オーダーをしているものに対して、

本来なら、

オーダー1の商品 配送先1
オーダー2の商品 配送先2
オーダー3の商品 配送先3
          ・
          ・

と出力されるのが正解の部分が、

オーダー1の商品 配送先1
オーダー1の商品 配送先2
オーダー1の商品 配送先3
オーダー2の商品 配送先1
オーダー2の商品 配送先2
オーダー2の商品 配送先3
            ・
            ・
            ・

のように商品毎に全ての配送先が出力されてしまいます。
構文を調整してますが、どなたか修正箇所をご教授頂けないでしょうか?

--- SQL文 ------------------------

o.order_id as "オーダー番号",
o.create_date as "受注日",
o.order_company_name as "会社名",
concat(order_name01 , ' ' , order_name02) as "注文者名",
concat(order_kana01 , ' ' , order_kana02) as "注文者名カナ",
o.order_email as "メールアドレス",
concat(o.order_tel01 , '-' , o.order_tel02 , '-' , o.order_tel03) as "注文者電話番号",
concat(o.order_zip01 , '-' , o.order_zip02) as "注文者郵便番号",
concat(p1.name,order_addr01 ,order_addr02) as "注文者住所",
concat(product_name) as "商品名",
product_code as "商品コード",
price as "価格",
classcategory_name1 as "規格1",
classcategory_name2 as "規格2",
quantity as "購入総数",
payment_total as "請求金額",
total as "合計金額",
tax as "消費税",
deliv_fee as "送料",
payment_method as "決済方法",
shipping_company_name as "配送先会社名",
concat(shipping_name01 , ' ' , shipping_name02) as "配送先名",
concat(shipping_kana01 , ' ' , shipping_kana02) as "配送先名フリガナ",
concat(shipping_tel01 , '-' , shipping_tel02 , '-' , shipping_tel03) as "配送先電話番号",
concat(shipping_zip01 , '-' , shipping_zip02) as "配送先郵便番号",
concat(p2.name,shipping_addr01,shipping_addr02) as "配送先住所",
shipping_date as "配送日",
shipping_time as "配送時間",
o.message_card as "メッセージカード",
o.message as "備考欄",
o.note 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 p1 ON p1.id = o.order_pref
LEFT JOIN mtb_pref AS p2 ON p2.id = s.shipping_pref
LEFT JOIN dtb_customer AS c ON o.customer_id = c.customer_id
WHERE o.del_flg = 0 AND o.status = 1
karin
投稿日時: 2016/2/22 20:23
対応状況: −−−
仙人
登録日: 2008/9/15
居住地: 東京都
投稿: 689
Re: 「CSV出力設定」⇒「高度な設定」の出力内容について
hal0413 様

どうやったらいいのかはぱっとは思いつかないのですが、
まずはSQLをシンプルにしてみるところから初めてみるといいのかもしれません。

LEFT JOIN dtb_shipping AS s ON o.order_id = s.order_id
LEFT JOIN mtb_pref AS p1 ON p1.id = o.order_pref
→この辺は既存のCSV(用のSQL)にならって、サブクエリにするとか。

LEFT JOIN dtb_customer AS c ON o.customer_id = c.customer_id
→これは使ってないようなのでいらないのでは?

※上記をやっても出力される行数は一緒なままですが...

あと、dtb_shipment_itemテーブルも関係している気がします。


----------------

hal0413
投稿日時: 2016/2/23 18:11
対応状況: −−−
新米
登録日: 2015/4/13
居住地:
投稿: 7
Re: 「CSV出力設定」⇒「高度な設定」の出力内容について
karin 様

早々のご返信ありがとうございます。

不要項目を外したり、サブクエリに出来る箇所はサブクエリにする等、
構文書き換えで色々試していますが、原因究明に至らずの状態です。
(単品受注データであれば一切重複しないので)

dtb_shipment_item
dtb_shipping
あたりのテーブル参照に仕方に問題があるんだと思いますが、
まだ解決には至らない状態です。

もう少し悩んでみます。
karin
投稿日時: 2016/2/23 18:36
対応状況: −−−
仙人
登録日: 2008/9/15
居住地: 東京都
投稿: 689
Re: 「CSV出力設定」⇒「高度な設定」の出力内容について
私も時間を見つけて確認してみますね!
がんばってください。


----------------

hal0413
投稿日時: 2016/2/26 14:05
対応状況: −−−
新米
登録日: 2015/4/13
居住地:
投稿: 7
Re: 「CSV出力設定」⇒「高度な設定」の出力内容について
karin 様

ありがとうございます。

もしお手すきの際に何か分かりましたら
ご教示頂けれると大変嬉しいです。

よろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,865名です
総投稿数は109,998件です

投稿数ランキング

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.