バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注CSVにお届け先情報を追加したい。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2013/2/1 18:23
対応状況: −−−
受注CSVにお届け先情報を追加したい。
お世話になります。

受注CSVにお届先情報を追加したいです。

dtb_csvに下記のように登録しました。
引用:
insert into dtb_csv (no, csv_id, col, disp_name, rank, status, create_date, update_date) values (201, 3, '(select shipping_name01 from dtb_shipping where dtb_shipping.order_id = dtb_order.order_id)', 'お届け先(姓)', 20, 1, Now(), Now()) ;


同様に、お届け先(名)、お届け先(都道府県)などを登録したのですが、CSVを吐き出してみると、お届け先に関する項目が表示されず、お届け先より右の項目がズレて表示されてしまいます。



また、出力項目設定でお届け先(姓)のみ、お届け先(名)のみなど、単品でCSVを出すと正しい情報が入っています。
2つ以上一緒に出すと、情報がおかしくなってしまいます。

うまく説明できなくてすみません…
ちょっとしたことでもいいので教えて頂きたいです。

[EC-CUBE] 2.11.5
[PHP] 5.1.6
[DB] PostgreSQL 8.1.23
AMUAMU
投稿日時: 2013/2/1 19:00
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 受注CSVにお届け先情報を追加したい。
dtb_csvに足しているSQL文に対して、asで別名を付けていないのが原因では無いかと思います。
無名カラムでは、項目列の突き合わせが出来ず情報が正しく取り出せなくなります。

参考までにデフォルトのsql文で分かりやすい所を下記に抜粋します。asで項目名がついているところがポイントです。

INSERT INTO dtb_csv (no, csv_id, col, disp_name, rank, rw_flg, status, create_date, update_date, mb_convert_kana_option, size_const_type, error_check_types) VALUES (119, 3, '(SELECT name FROM mtb_pref WHERE mtb_pref.id = dtb_order.order_pref) as pref', '都道府県', 17, 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'n', 'INT_LEN', 'MAX_LENGTH_CHECK,NUM_CHECK');


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

ゲスト
投稿日時: 2013/2/4 10:35
対応状況: −−−
Re: 受注CSVにお届け先情報を追加したい。
ありがとうございます。
別名をつけたところ、無事に取得することができました。

ただ、お届け先の都道府県を表示しようとすると、エラーが起きてしまいます。
デフォルトである、都道府県をコピーして以下のように登録してみたのですが、「CSVダウンロード」を押すとシステムエラーになってしまいます。
引用:
insert into dtb_csv (no, csv_id, col, disp_name, rank, status, create_date, update_date) values (201, 3, '(SELECT name FROM mtb_pref WHERE mtb_pref.id = dtb_shipping.shipping_pref)', '届け先都道府県', 20, 2, Now(), Now()) ;


デフォルトの都道府県と重複するから別名で参照しなければいけない、ということでしょうか?
具体的にどのように記述したらよいか教えていただけると助かります。

よろしくお願い致します。
AMUAMU
投稿日時: 2013/2/4 15:27
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 受注CSVにお届け先情報を追加したい。
再び、別名を付けていないことが問題かと思います。

複数項目利用時のサブクエリ参照時は別名は必ず付ける必要があります。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

ゲスト
投稿日時: 2013/2/4 15:33
対応状況: −−−
Re: 受注CSVにお届け先情報を追加したい。
すみません。
ソースを間違えていました。

引用:
insert into dtb_csv (no, csv_id, col, disp_name, rank, status, create_date, update_date) values (201, 3, '(SELECT name FROM mtb_pref WHERE mtb_pref.id = dtb_shipping.shipping_pref) as shippref', '届け先都道府県', 20, 2, Now(), Now()) ;


こちらでもエラーが起きてしまいました。

引用:
prepare: [Error message: Unable to create prepared statement handle] [Last executed query: SELECT no, csv_id, col, disp_name, rank, status, rw_flg, mb_convert_kana_option, size_const_type, error_check_types FROM dtb_csv WHERE status = 1 AND csv_id = $1 ORDER BY rank, no ] [Native message: ERROR: missing FROM-clause entry in subquery for table "dtb_shipping"]

というエラーが出ます。
AMUAMU
投稿日時: 2013/2/4 16:08
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 受注CSVにお届け先情報を追加したい。
dtb_shipping.shipping_pref は、どこから来ていますか?

受注CSVということですので、dtb_orderを元にdtb_shippingは参照出来ますが、dtb_shippingを元に参照するには現状のSQL文では駄目かと思います。

○dtb_order → dtb_shipping
×dtb_shipping → 他のテーブル
○dtb_order → dtb_shipping → 他のテーブル

という多重の参照を行うように修正が必要だと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

ゲスト
投稿日時: 2013/2/4 17:03
対応状況: −−−
Re: 受注CSVにお届け先情報を追加したい。
ありがとうございます!

colの部分を以下のようにしたら取得出来ました。
引用:
(SELECT name FROM mtb_pref JOIN dtb_shipping ON dtb_order.order_id = dtb_shipping.order_id WHERE dtb_shipping.shipping_pref = mtb_pref.id) as pref


本当に助かりました。
ありがとうございました。
ゲスト
投稿日時: 2013/2/4 17:15
対応状況: 解決済
Re: 受注CSVにお届け先情報を追加したい。
対応状況を変更できなかったので再度投稿します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1291
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.