No.2ベストアンサー
- 回答日時:
手元にOracleが無いので確認できませんが、DECODE関数か、CASE式を使えば良いように思えます。
参考URL:http://www.t3.rim.or.jp/~buchi/rdb.html#decode,h …
No.7
- 回答日時:
またウソつきました
条件が金額1>=0なので・・・
select * from(
(select コード,decode(SIGN(金額1),-1,金額2,金額1) as W_金額
from テーブルA
where 区分 = 1)
union all
(select コード,decode(SIGN(金額2),-1,金額1,金額2) as W_金額
from テーブルA
where 区分 = 2)
)
order by コード;
ですね
No.6
- 回答日時:
SQL> insert into テーブルA values('A001',1,1,100);
1行が作成されました。
SQL> insert into テーブルA values('A002',1,-100,2);
1行が作成されました。
SQL> insert into テーブルA values('A003',2,100,3);
1行が作成されました。
SQL> insert into テーブルA values('A004',2,4,-100);
1行が作成されました。
SQL> commit ;
コミットが完了しました。
SQL> select * from(
2 (select コード,decode(SIGN(金額1),1,金額1,金額2) as W_金額
3 from テーブルA
4 where 区分 = 1)
5 union all
6 (select コード,decode(SIGN(金額2),1,金額2,金額1) as W_金額
7 from テーブルA
8 where 区分 = 2)
9 )
10 order by コード;
コード W_金額
-------- ----------
A001 1
A002 2
A003 3
A004 4
SIGN
構文SIGN(n)
用途n<0ならば-1、n=0ならば0、n>0ならば1を戻します。
前回は「ウソ」ついてごめんなさい
今度こそ「自身あり」です
No.5
- 回答日時:
DECODEを使うなら、引数1に演算式を入れて下さい。
それかCASE式と使われてはいかがでしょう?
参考URL:http://www.seshop.com/se/edu/shikaku/omo/miti/si …
No.4
- 回答日時:
[補足]
select * from(
(select コード,decode(金額1,金額1>=0,金額1,金額2) as W_金額
from テーブルA
where 区分 = 1)
union all
(select コード,decode(金額2,金額2>=0,金額2,金額1) as W_金額
from テーブルA
where 区分 = 2)
)
order by コード
この回答への補足
ありがとうございます。
私も最初、decode関数を使おうと思ったのですが、
decode(金額1,金額1>=0,金額1,金額2)
のような書き方が出来ませんでした。
=<>などはdecode関数内で使えないものと思ったのですが、どうなのでしょうか?
No.3
- 回答日時:
select * from(
(select コード,decode(金額1,金額1>=0,金額1,金額2) as W_金額
from テーブルA
where 区分 = 1)
union all
(select コード,decode(金額2,金額2>=0,金額2,金額1) as W_金額
from テーブルA
where 区分 = 2)
)
No.1
- 回答日時:
ORACLEはあまり詳しくありませんが、UNIONを使用すれば出来るかも...
SELECT 金額1
FROM テーブルA
WHERE (区分=1 AND 金額1>=0) OR (区分=2 AND 金額2< 0)
UNION SELECT 金額2
FROM テーブルA
WHERE (区分=1 AND 金額1< 0) OR (区分=2 AND 金額2>=0)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- クレジットカード 楽天カード 限度額と枠について 楽天カードの枠を100万の場合、 実際にカードでショッピング可能金額 3 2022/06/18 02:22
- その他(お金・保険・資産運用) 支給です! 給付型奨学金と第一種奨学金の併用貸与について質問です 日本学生支援機構での奨学金の支援の 0 2023/04/19 21:47
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- 財務・会計・経理 請求金額について 5 2023/04/10 09:17
- 高齢者・シニア 有料介護老人ホーム短期利用の場合の料金プランについて 1 2023/07/12 19:55
- 財務・会計・経理 事業復活支援金の事前確認について 2 2022/04/11 16:07
- 健康保険 高額療養費制度の所得区分は個人単位ですか?家族単位ですか? 私(夫)は自営業で所得が低く非課税です。 5 2023/08/24 11:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
orace 変更表エラーを回避する...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
SQL文で右から1文字だけ削除す...
-
GROUP BYを使ったSELECT文の総...
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
実績累計の求め方と意味を教え...
-
MERGE文を単体テーブルに対して...
-
DataGridViewの、選択されてい...
-
MySQLで MAX()とGROUP BYを使う...
-
select句副問い合わせ 値の個...
-
ファイル書込みで一行もしくは...
-
チェックボックスの項目をDBにi...
-
アクセスで「空き番」の確認
-
Access でレコードセレクタが押...
-
SQLの集計で「全て」の合計も表...
-
SET句内で複数の条件を指定して...
-
カウント結果を1レコードの中...
-
【初歩】ラジオボタンをつかっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessに2つのテーブルを結合...
-
Oracle SQL 2つのテーブルを使...
-
orace 変更表エラーを回避する...
-
こういうDELETE文を作成したい...
-
こういうSELECTは可能でしょうか?
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
-
SQL文で右から1文字だけ削除す...
-
GROUP BYを使ったSELECT文の総...
-
select句副問い合わせ 値の個...
-
レコードが存在しなかった場合
-
ADO VBA 実行時エラー3021
-
SQL文で素早くNULLを除外する方法
-
実績累計の求め方と意味を教え...
-
ファイル書込みで一行もしくは...
-
select insertで複数テーブルか...
-
キーが同じを複数行を1行にま...
-
SELECTの結果で同一行を複数回...
おすすめ情報