質問 > 管理機能 > 売切れ日時を取得したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ecbg |
投稿日時: 2009/10/29 17:32
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
売切れ日時を取得したい コンテンツ管理>CSV出力項目設定>高度な設定
において以下で売切れになったアイテムは出力できるのですが、 売切れになった日時の取得はできませんでしょうか? t1.product_code as 商品コード, FROM dtb_products_class as t1, dtb_classcategory as t2 WHERE t1.classcategory_id1 = t2.classcategory_id AND t1.stock = 0 ORDER BY t1.product_code 「product_id」と「order_id」を紐付けていって、 「dtb_order」で該当商品が最も新しく買われた「create_date」を 取得できないかと悩んでおります・・・ どうかお力お貸し頂けないでしょうか? |
seasoft |
投稿日時: 2009/10/29 18:32
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 売切れ日時を取得したい 面白いアイディアですね。
多分、サブクエリで出来ますよ。 サブクエリで、外側の値(product_id)を紐付ける方法を勉強すれば解決できると思います。
|
ecbg |
投稿日時: 2009/10/29 19:20
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 売切れ日時を取得したい ご回答有難うございます!
色々な条件を書き出してみたところ、 「dtb_order」で最新の日付を選択するのではなくて、 「dtb_order_detail」で該当「product_id」に対して最も大きい「order_id」の数値を取り出して、 その「order_id」に紐付く「create_date」でないと 最新の受注日時に辿り付けないようです・・・ ただそれだと「dtb_order」でdelが立ってたときに戻らないとで悩みどころが増えました。。 「dtb_products_class」の「update_date」がストックの変更で更新されれば良いのですが・・・ とまぁ条件は分ったのですが、SQLにするにどうするのか試行錯誤です=3 |
ecbg |
投稿日時: 2009/10/29 19:50
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 売切れ日時を取得したい product_idまで入れてあげれば日付が取り出せるまで来たのですが、以下の部分が分りません!
SELECT to_char(create_date, 'YYYY/MM/DD HH24:MI') as 売切れ日時 FROM dtb_order WHERE order_id = ( SELECT MAX(order_id) FROM dtb_order_detail WHERE product_id = --<ここに(*1)のSELECT結果を入れたいのですが GROUP BY product_id ) (*1) SELECT product_id FROM dtb_products_class WHERE stock = 0 |
hogehoge |
投稿日時: 2009/10/29 19:58
対応状況: −−−
|
常連 登録日: 2008/9/19 居住地: Cusco,Peru 投稿: 67 |
Re: 売切れ日時を取得したい
で、どうでしょう? 試してないので外してたらすいません。 |
ecbg |
投稿日時: 2009/10/30 11:56
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 売切れ日時を取得したい 以下のSQLで試したところやはりエラーとなってしまいました。。
SELECT to_char(create_date, 'YYYY/MM/DD HH24:MI') as 売切れ日時 FROM dtb_order WHERE order_id = ( SELECT MAX(order_id) FROM dtb_order_detail WHERE product_id IN ( SELECT product_id FROM dtb_products_class WHERE stock = 0 ) GROUP BY product_id ) [nativecode=ERROR: more than one row returned by a subquery used as an expression] 複数のサブクエリを使っていることに対するエラーのようです。 ん〜SQLって難しいですね。 |
hogehoge |
投稿日時: 2009/10/30 12:14
対応状況: −−−
|
常連 登録日: 2008/9/19 居住地: Cusco,Peru 投稿: 67 |
Re: 売切れ日時を取得したい SQLが求める結果を返しているのかまでは見てないのですが、
文法だけで言うと、
のところを IN にしたら通ると思いますよ。 |
ecbg |
投稿日時: 2009/10/30 13:31
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 売切れ日時を取得したい 「IN」にしたら通りました!
「=」でも同じかと思ってたのですが難しいですねー 重ねた質問で申し訳ないのですが、 「dtb_order」には無い「product_code」を結果に表示させるには、 サブクエリからどのように渡してきたら良いのかでまた躓いてます。 お力お貸し頂けないでしょうか? |
ecbg |
投稿日時: 2009/10/30 14:48
対応状況: 解決済
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 売切れ日時を取得したい 普通に内部結合使ったら取得できました!
お騒がせしました! |
ecbg |
投稿日時: 2009/10/30 19:07
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 売切れ日時を取得したい 大筋は解決したのですが、「product_id」だけじゃなくて条件として「classcategory_id1」を
共に満たした条件の時のみ「dtb_order_detail」から価を取得したいのですが、 その際サブクエリからどのように取得したら良いのでしょうか? なんか「dtb_order_detail」のGROUP BYもこれじゃだめっぽいんですよね・・・難しい。。 引用:
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |