バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > CSV出力設定に関して

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
neroneko
投稿日時: 2023/4/19 15:08
対応状況: −−−
新米
登録日: 2023/1/26
居住地:
投稿: 10
CSV出力設定に関して
▼テンプレート
[EC-CUBE] 2.17.2
[DBサーバー] MySQL 5.7.40-log

SQL初心者です。

以下のSQLのどこが間違っているのか
ご教示いただけないでしょうか。

「CSV出力設定」の「高度な設定」で
商品名の出力などを行いたく
過去に同じような出力をされている方がいたので
多少アレンジを加えSQLを登録いたしました。

商品名の出力はできるようになったのですが
以下が反映されておりません。

●複数商品購入した人は複数行に出力
(3点購入した人は3行で各行に1商品名が記載される)
→1行にまとまって 個数のところが3と記載されております。

●新規受注分だけ出力
→WHERE o.status = 1と記載すると何も出力されない。
 ただし、この記載をなくすとすべてのステータスが出力される。


初歩的なことで申し訳ございませんが
ご教示のほど、何卒よろしくお願いいたします。

===============================================================================

o.status as "対応状況",
o.order_id as "オーダー番号",
o.create_date as "受注日",
concat(order_name01,order_name02) as "注文者名",
CONCAT( product_name, IFNULL(classcategory_name1, ''), IFNULL(classcategory_name2, '') ) AS '商品名',
product_code as "商品コード",
quantity as "数量",
shipping_date as "配送日",
concat(shipping_zip01,shipping_zip02) as "配送先郵便番号",
concat(p.name,shipping_addr01,shipping_addr02) 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 "電話番号",
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 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
mcontact
投稿日時: 2023/4/20 16:49
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1280
Re: CSV出力設定に関して
> ●複数商品購入した人は複数行に出力
> (3点購入した人は3行で各行に1商品名が記載される)
> →1行にまとまって 個数のところが3と記載されております。

SQL文中に個数という箇所はないので、数量と勘違いしていませんか?

> ●新規受注分だけ出力
> →WHERE o.status = 1と記載すると何も出力されない。
>  ただし、この記載をなくすとすべてのステータスが出力される。

受注ステータスが1=新規受注分のレコードがあることを確認された上で、テストなりしているんでしょうか?
レコードがなければ、出力されることはありませんね。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

yuh
投稿日時: 2023/4/20 17:07
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: CSV出力設定に関して
多分その場合dtb_order_detail はJOINしないでdtb_shipment_itemをJOINしてそちらからquantityとproduct_codeを使用した方がいいと思います。


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


http://ec-lab.net/

neroneko
投稿日時: 2023/4/25 10:50
対応状況: −−−
新米
登録日: 2023/1/26
居住地:
投稿: 10
Re: CSV出力設定に関して
mcontact様

>SQL文中に個数という箇所はないので、数量と勘違いしていませんか?

失礼いたしました。こちら数量です。


>受注ステータスが1=新規受注分のレコードがあることを確認された上で、テストなりしているんでしょうか?
レコードがなければ、出力されることはありませんね。

新規受注のレコードがあることを確認しておりますが、o.status = 1と記載すると空白で出力され、o.status = 1をしてしないと、新規受注や発送済みなど、すべてのレコードが出力されております。
neroneko
投稿日時: 2023/4/27 13:41
対応状況: −−−
新米
登録日: 2023/1/26
居住地:
投稿: 10
Re: CSV出力設定に関して
yuh様

返信が遅くなり申し訳ございません。

そちらで試みてみます。

ありがとうございました。
mcontact
投稿日時: 2023/4/28 17:02
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1280
Re: CSV出力設定に関して
> 新規受注のレコードがあることを確認しておりますが、o.status = 1と記載すると空白で出力され、o.status = 1をしてしないと、新規受注や発送済みなど、すべてのレコードが出力されております。

環境の記載が少ないので解りませんが、何らかのDBツールを使っているのでしょうか?
DBツールを使っているのであれば、DBツールの影響ではないでしょうか?
通常は、、o.status = 1で検索しているならo.statusカラムには1が出力されます。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1280
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.