質問 > 管理機能 > CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kctakeyama |
投稿日時: 2010/6/21 12:48
対応状況: −−−
|
常連 登録日: 2009/8/18 居住地: 投稿: 60 |
CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 いつもお世話になっております
CSVの高度な出力より、受注情報と詳細情報より、飛伝用のCSVを作製したのですが、 いままで1種類の商品を扱っていたのですが 今度複数の商品を取り扱うことになりました ここで、CSVへ出力時に1オーダーを下記のように1行で出力したい場合はどのようにSQLを組めばよいでしょうか? 以前使用していたSQL order_pref || order_addr01 || order_addr02 as 予約者住所 , 〜省略〜 deliv_pref || deliv_addr01 || deliv_addr02 as 受取人住所 FROM dtb_order AS T1 INNNER JOIN dtb_order_detail AS T2 USING (order_id ) 出力例 dtb_order --- order_id 1000 2000 dtb_order_detail --- order_id 商品CD 個数 1000 100 5 1000 200 10 2000 200 5 CSV出力時 order_id 商品CD1 個数1 商品CD2 個数2 1000 100 5 200 10 2000 200 5 毎回すいませんが、よろしくお願いいたします。 |
AMUAMU |
投稿日時: 2010/6/21 13:21
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 複数行のデータを1行にするSQLは、最大数が分かっていればサブクエリを駆使すれば可能です。(PostgreSQLなら確実ですが、MySQLに集計系関数あったかな・・・?)
集計関数をマクロで作れば最大数に関係なく作れます。 どちらにしろ、比較的な高度なSQL文の組み立てになります。 SQLのマニュアルを参照されたり、Tipsをネットで探されると良いと思います。
|
kctakeyama |
投稿日時: 2010/6/21 13:57
対応状況: −−−
|
常連 登録日: 2009/8/18 居住地: 投稿: 60 |
Re: CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 ありがとうございます
PostgreSQLなので、サブクエリを使用できるとは思うのですが、 作成したことがないので、何をすればいいのかがさっぱりわかりません;; ネットでの検索でも有用なところを見つけることができなかったので参考までに教えていただけないでしょうか 厚かましいお願いとは重々認識しておりますが、よろしくお願いいたします |
AMUAMU |
投稿日時: 2010/6/21 14:42
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 PostgreSQLで、たぶんバージョン依存しなそうなものを考えると
って感じがヒントになりますか? バージョン依存していいならpartionやrow_number関数が非常に有用かつ便利です。←こっちのほうが正しいアプローチ。上は簡易型 なお質問される際には下記を参考にされて、必ず環境やバージョンを書くようにしましょう。 http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8
|
kctakeyama |
投稿日時: 2010/6/21 18:00
対応状況: −−−
|
常連 登録日: 2009/8/18 居住地: 投稿: 60 |
Re: CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 早い回答ありがとうございます。
他のほしい項目(名前、住所など)の後に上記の式を入れればよいのでしょうか? >なお質問される際には下記を参考にされて、必ず環境やバージョンを書くようにしましょう。 すいません、環境を書きそびれておりました。 下記に記載させていただきます。 ==== [EC-CUBE] 2.4.1 [OS] Windows2008Server [PHP] PHP 5.2.9 [データベース] postgreSQL 8.4 [WEBサーバ] IIS7.0 [ブラウザ] IE7.0〜8.0 |
AMUAMU |
投稿日時: 2010/6/21 19:20
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 PostgreSQL 8.4でしたら、集計関数が充実していますので下記が参考になると思います。
下記はOracleの場合ですが、互換関数がPostgreSQL8.4にもあります。 http://oshiete.goo.ne.jp/qa/1828920.html
|
kctakeyama |
投稿日時: 2010/6/25 10:30
対応状況: −−−
|
常連 登録日: 2009/8/18 居住地: 投稿: 60 |
Re: CSV出力で複数の種類の注文を1行にまとめたい場合の対処方法を教えてください。 ありがとうございました。
まだ完全にはできておりませんが、こちらで試してみようと思います |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |