お世話になります。
まず実現したいことを書きます。
DBテーブル内容
受注テーブル
受注番号 案件番号 得意先コード
1 1 0001
2 1 0001
3 1 0001
4 2 0002
5 2 0002
6 3 0003
7 4 0001
8 5 0003
のようにデータが入っている時に
受注番号 案件番号 得意先コード
1 1 0001
2 1 null
3 1 null
4 2 0002
5 2 null
6 3 0003
7 4 0001
8 5 0003
このように取得したいのですが、
(案件番号と得意先コードが一致している時は一番上に
だけ得意先コードを表示それ以外はnullをセットする)
いろいろ考えたのですが、まったくわかりませんでした。
どなたかアドバイスをお願いします。
よろしくお願いします。
No.4
- 回答日時:
こんにちわ。
SQL*Plus から実行するのであれば、Break 文が使えると思います。
Select する前に、「Break on 得意先コード」として見て下さい。
得意先コードの値が直前のレコードと同じ場合には、値を出力しません。
詳細は、SQL*Plus のユーザーズガイドで確認して下さい。
No.3
- 回答日時:
>やはりストアドを使わなければいけないのでしょうか?(泣)
どのようにこのSQLを投げて結果を取得してるのですか?
ループかなんかで処理するようなつくりのものでしたら
nullのセットは処理を組むのが一番手っ取り早いかと。
わざわざストアド組む必要もないのでは?
#SQL*Plusにスクリプト投げて、spoolをファイルに落としてるだけとかいうと無理ですけど。
No.2
- 回答日時:
こんなのとか
select
T1.受注番号,
T1.案件番号,
decode(T1.受注番号, T2.受注番号, T1.得意先コード)
from 受注テーブル T1,
(select
min(受注番号) 受注番号,
案件番号,
得意先コード
from 受注テーブル group by 案件番号, 得意先コード
) T2
where
T1.案件番号 = T2.案件番号
and
T1.得意先コード = T2.得意先コード
この回答への補足
返信ありがとうございます。
例としてあげさせてもらったことは実現できたので
本来やろうとしていたことをやってみたところ。
例では一つのテーブルでしたが、実際には7つのテーブルが絡み合う複雑な副問い合わせの山になってしまいレスポンスが非常に悪くなってしまいました。
やはりストアドを使わなければいけないのでしょうか?(泣)
ストアドはほとんど組んだことがないので基本的なことからわかるサイトをどなたかご存知内でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Visual Basic(VBA) テーブルを配列に入れて、元のテーブルの行番号を取得したい 1 2022/08/16 20:15
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CREATE テーブルでの複数外部...
-
平成20年 春期 基本情報技術者 ...
-
SELECT文で
-
GROUP BYを行った後に結合した...
-
SQL文で右から1文字だけ削除す...
-
ファイル書込みで一行もしくは...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
select句副問い合わせ 値の個...
-
ADO VBA 実行時エラー3021
-
SELECTで1件のみ取得するには?
-
アクセスでレポートの1印刷内...
-
select insertで複数テーブルか...
-
JSPのNULLレコード表示について...
-
Excel VBA読み込みで文字化けが
-
ACCESS VBA レコードセットの参...
-
Excel VBAで、Averageの範囲を...
-
SQL文で素早くNULLを除外する方法
-
ACCESSのクエリで同じSQL文だが...
-
他のテーブルを参照した値はupd...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
CREATE テーブルでの複数外部...
-
Order by句でバインド変数を使...
-
沿線コード
-
SQLServer 日付が直前のレコー...
-
Excelファイルのデータをテーブ...
-
10営業日前の日付を取得したい...
-
SQLの実行結果が異なる
-
SQLに関して
-
【SQL】またぎデータの検索の仕方
-
SQLにて縦を横へ展開
-
ヤマト急便のチェックデジット...
-
スペシャリストの方! 助けてく...
-
SQL GROUP BY
-
娘の学校から出た暗号解読です...
-
SQLで<>を使用するとき、
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
おすすめ情報