質問 > 管理機能 > 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 居住地: 投稿: 1045 |
Re: CSV出力設定に関して > ●複数商品購入した人は複数行に出力
> (3点購入した人は3行で各行に1商品名が記載される) > →1行にまとまって 個数のところが3と記載されております。 SQL文中に個数という箇所はないので、数量と勘違いしていませんか? > ●新規受注分だけ出力 > →WHERE o.status = 1と記載すると何も出力されない。 > ただし、この記載をなくすとすべてのステータスが出力される。 受注ステータスが1=新規受注分のレコードがあることを確認された上で、テストなりしているんでしょうか? レコードがなければ、出力されることはありませんね。
|
yuh |
投稿日時: 2023/4/20 17:07
対応状況: −−−
|
神 ![]() ![]() 登録日: 2013/1/9 居住地: 大阪 投稿: 1790 |
Re: CSV出力設定に関して 多分その場合dtb_order_detail はJOINしないでdtb_shipment_itemをJOINしてそちらからquantityとproduct_codeを使用した方がいいと思います。
|
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 居住地: 投稿: 1045 |
Re: CSV出力設定に関して > 新規受注のレコードがあることを確認しておりますが、o.status = 1と記載すると空白で出力され、o.status = 1をしてしないと、新規受注や発送済みなど、すべてのレコードが出力されております。
環境の記載が少ないので解りませんが、何らかのDBツールを使っているのでしょうか? DBツールを使っているのであれば、DBツールの影響ではないでしょうか? 通常は、、o.status = 1で検索しているならo.statusカラムには1が出力されます。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |