baunce の回答履歴
- 文字化けの解決方法
Oracle12cR2のデータベースを構築中なのですが、あるSQLを実行したときだけSPOOLしたファイルの日本語が文字化けしてしまいます。 コマンドプロンプト上では日本語表示されているのですが、出力されたファイルのみに起こっているように見られます。 前後に実行しているSQLはコマンドプロンプト、SPOOLファイルともに日本語表示になっています。 SQLの実行結果自体に問題はないと思うので実害はないのだと思うのですが、エビデンスとしては直しておきたいところです。 どのような設定を確認すればよいでしょうか? SQLは以下の順で実行しています(添付ファイルの番号順) 1.DBFファイルを作成し、ALTERコマンドを実行(該当SQLの前に実行しているSQL) 2.実行SQLをまとめたSQLを実行(該当SQL) よろしくお願いします。
- 締切済み
- Oracle
- hiro198067
- 回答数3
- 文字化けの解決方法
Oracle12cR2のデータベースを構築中なのですが、あるSQLを実行したときだけSPOOLしたファイルの日本語が文字化けしてしまいます。 コマンドプロンプト上では日本語表示されているのですが、出力されたファイルのみに起こっているように見られます。 前後に実行しているSQLはコマンドプロンプト、SPOOLファイルともに日本語表示になっています。 SQLの実行結果自体に問題はないと思うので実害はないのだと思うのですが、エビデンスとしては直しておきたいところです。 どのような設定を確認すればよいでしょうか? SQLは以下の順で実行しています(添付ファイルの番号順) 1.DBFファイルを作成し、ALTERコマンドを実行(該当SQLの前に実行しているSQL) 2.実行SQLをまとめたSQLを実行(該当SQL) よろしくお願いします。
- 締切済み
- Oracle
- hiro198067
- 回答数3
- 日付の最大値レコードを取得する方法について
お世話になります。 SQLで日付の最大値を取得する方法です。 テーブルのデータ内容は以下のようになっています。 | 社員番号 | 社員名 | 日付 | 順序 | +---------+-------+-----------+-----+ | 100 | AAA | 2011/05/01 | 2 | ← このレコードを取得したい +---------+-------+-----------+-----+ | 100 | AAA | 2011/05/01 | 1 | +---------+-------+-----------+-----+ | 100 | AAA | 2011/04/01 | 1 | +---------+-------+-----------+-----+ | 200 | BBB | 2011/04/01 | 2 | ← このレコードを取得したい +---------+-------+-----------+-----+ | 200 | BBB | 2011/04/01 | 1 | +---------+-------+-----------+-----+ 取得したいレコードは、 社員ごとの最大日付の最大順序をもつレコードです。 (上記の1行目と4行目のレコードを取得したい) この場合、 下記のようなSQLを考えます。 --------------------------------- SELECT 社員番号, 社員名, 日付 FROM テーブル名 WHERE 社員番号 = 'xxx' AND 日付 = (SELECT MAX(日付) FROM テーブル名 ) AND 順序 = (SELECT MAX(順序) FROM テーブル名 ) ---------------------------------- 但し、上記の場合、 社員ごとに最大値レコードが取得できません。 どなたかレコード取得方法について 教えていただけないでしょうか? よろしくお願いいたします。
- 日付の最大値レコードを取得する方法について
お世話になります。 SQLで日付の最大値を取得する方法です。 テーブルのデータ内容は以下のようになっています。 | 社員番号 | 社員名 | 日付 | 順序 | +---------+-------+-----------+-----+ | 100 | AAA | 2011/05/01 | 2 | ← このレコードを取得したい +---------+-------+-----------+-----+ | 100 | AAA | 2011/05/01 | 1 | +---------+-------+-----------+-----+ | 100 | AAA | 2011/04/01 | 1 | +---------+-------+-----------+-----+ | 200 | BBB | 2011/04/01 | 2 | ← このレコードを取得したい +---------+-------+-----------+-----+ | 200 | BBB | 2011/04/01 | 1 | +---------+-------+-----------+-----+ 取得したいレコードは、 社員ごとの最大日付の最大順序をもつレコードです。 (上記の1行目と4行目のレコードを取得したい) この場合、 下記のようなSQLを考えます。 --------------------------------- SELECT 社員番号, 社員名, 日付 FROM テーブル名 WHERE 社員番号 = 'xxx' AND 日付 = (SELECT MAX(日付) FROM テーブル名 ) AND 順序 = (SELECT MAX(順序) FROM テーブル名 ) ---------------------------------- 但し、上記の場合、 社員ごとに最大値レコードが取得できません。 どなたかレコード取得方法について 教えていただけないでしょうか? よろしくお願いいたします。
- SQLにて縦を横へ展開
[注文表] 注文番号 注文商品 注文金額 ======================= 111 あああ 5500 222 いいい 3000 [注文オプション表] 注文番号 オプション ================ 111 P1 111 P2 222 D1 上記のようなテーブルがあります。 これを下記のようにSQLでまとめたいですが可能でしょうか。 もしありましたら、サンプルSQLをご教示いただけませんでしょうか。 [注文一覧] 注文番号 注文商品 注文金額 オプション1 オプション2 ====================================================== 111 あああ 5500 P1 P2 222 いいい 3000 D1 お手数をお掛けしますが、なにとぞよろしくお願いいたします。
- SQLにて縦を横へ展開
[注文表] 注文番号 注文商品 注文金額 ======================= 111 あああ 5500 222 いいい 3000 [注文オプション表] 注文番号 オプション ================ 111 P1 111 P2 222 D1 上記のようなテーブルがあります。 これを下記のようにSQLでまとめたいですが可能でしょうか。 もしありましたら、サンプルSQLをご教示いただけませんでしょうか。 [注文一覧] 注文番号 注文商品 注文金額 オプション1 オプション2 ====================================================== 111 あああ 5500 P1 P2 222 いいい 3000 D1 お手数をお掛けしますが、なにとぞよろしくお願いいたします。
- テーブルからのselectにおいてデータの有無により結果をわけたい
id | point ----+------- 1 | 10 2 | 9 3 | 5 .... というテーブルがあるとします. idを指定してpointを得たいのですが、そのidがこのテーブルに存在しない場合は空の結果ではなく0を返したいのです. plpgsqlなどを使いif文で場合分けすればできることはわかっているのですがSQL文だけで(それもできれば1文で)これを実現する方法はあるでしょうか? よろしくお願い致します。
- ベストアンサー
- PostgreSQL
- yasumitu
- 回答数7
- 横並びのコード管理を別テーブルからコードと名称を取得するには?
例えば、 [品物管理テーブル] cd:name 01:スナック菓子 02:ジュース 03:アイス 04:ガム ・ 99:その他 と [店舗別売り上げランキング管理テーブル] shop:no1:no2:no3 A店: 03: 01: 04 B店: 01: 02: 04 C店: 02: 01: 03 D店: 02: 01:null があった場合に A店の売り上げ順に[品物管理テーブル]のcdとnameを取得したい場合は どのようにすればよいのでしょうか? SELECT cd, name FROM [商品管理テーブル] AS syo LEFT JOIN [店舗別売り上げランキング管理テーブル]AS ran ON syo.cd=ran.no1 OR syo.cd=ran.no2 OR syo.cd=ran.no3 WHERE ran.shop='A店'; とすると、ランキングを無視して[品物管理テーブル]の順で 01:スナック菓子 03:アイス 04:ガム と返ってきてうまくいきません。
- 締切済み
- PostgreSQL
- ramen41201
- 回答数2