C %4.2fの4は全体の桁数、2は小数点以下の桁数 0247NAME IS NULL2020/02/25(火) 19:33:17.00ID:??? 文章みればなんとなくわかるよね まあわかってないのは質問者と>>240だけどw 0248NAME IS NULL2020/02/26(水) 23:55:25.73ID:QqeJ9408 COBOLなんて最悪のわかりにくさだけどな。 0249NAME IS NULL2020/02/27(木) 00:18:29.64ID:??? SQLとCOBOLって、殆ど同級生みたいなものだろう 0250NAME IS NULL2020/02/27(木) 06:58:17.84ID:UItByFL3>>249 まったく異なる 0251NAME IS NULL2020/02/28(金) 22:13:19.38ID:???>>249 どこがどう「同級生みたいな」もんなんだよ。 0252NAME IS NULL2020/02/29(土) 03:02:30.76ID:??? SQL-86とCOBOL-85って殆ど同級生みたいなものだろう って話じゃろうな 0253NAME IS NULL2020/02/29(土) 10:59:20.17ID:??? 流れトン切り、雑談的な質問で恐縮なんだが みんなコードを学んでいく上で周囲の人が書いたコード見たりして学ぶのかな なんとなく盗み見るようで気がひけるんだけど 名前出てるからこの人の参考になるなという人の時々見てるけど、こそこそやってて落ち着かない モラルの点でどう思う? 0254NAME IS NULL2020/02/29(土) 11:50:20.58ID:??? 見れるところに置いてあるのなら、堂々と見れば良い 0255NAME IS NULL2020/02/29(土) 13:48:05.06ID:??? わかった、ありがとう そうする 0256NAME IS NULL2020/03/02(月) 20:55:36.49ID:??? 親ID 親Name 子ID 子Name ←列名 p1 pn1 c1 cn1 p1 pn1 c2 cn2
現在、クエリで上記の形で取得できているのですが、これを ID Name IsParent p1 pn1 true c1 cn1 false c2 cn2 false
のような形で取得することはできますか? DBはoracle11gR2です 0257NAME IS NULL2020/03/02(月) 21:31:35.40ID:??? ( select distinct 親ID as ID, 親Name as Name, true as IsParent from テーブル ) union all( select distinct 子ID as ID, 子Name as Name, false as IsParent from テーブル ) 0258NAME IS NULL2020/03/02(月) 21:50:57.19ID:rd6v8tKi>>253 他人のものをよく見て、真似るのが基本中の基本。
さらに自分の中でも試行錯誤を繰り返す。
これをずっとやらないとコピペプロクラマにしかなれない。 0259NAME IS NULL2020/03/02(月) 22:09:11.52ID:???>>257 ありがとうございます union allという手がありましたね。それで検索してみたら↓のようなのを見つけたので色々と試してみたいと思います!
よろしくお願いします。 0271NAME IS NULL2020/03/07(土) 07:36:24.25ID:??? SQLはりつけられなかったわ 結局typeはordersにしか情報がないなら select type from orders group by type でtypeテーブルを作る それをshopsと直積で結合してその状態から ratesとordersを結合して集計すればいいんじゃないの existsは結合したordersのshop_idがnullなら0それ以外なら1 0272NAME IS NULL2020/03/07(土) 09:01:41.05ID:???>>267 1番目のselectでは同じ親品番が複数出てくるためDistinctを追加し、 union allの次のselectでは子品番のnullが出てくるためis not null を追加したところ 目的のデータが取得できました ソートキーを入れる発想が思い浮かばなかったです ありがとうございました 0273NAME IS NULL2020/03/07(土) 11:04:48.35ID:??? なんか中継クラウドでチェックが入りインジェクションと見なされるみたい ソースアップロードサイトに上げて、リンク張ればいいかも 0274NAME IS NULL2020/03/07(土) 12:22:57.31ID:??? ここ最近Oracle使ってないから覚えてないけど 今回みたいなのはSQL1回でガチャガチャやるよりも ストアドプロシジャで結果セット返すようにして テンポラリテーブル作る 親データINSERT 子データINSERT ソートして結果を返すってやったほうが自分はいいとおもってるけどね
269もtype欲しさに受注データをgroupbyとかほんとはやりたくないわ ABしかないならそれ用のテンポラリテーブル作って結果を返すストアド作ったほうがいい気がする 0275NAME IS NULL2020/03/07(土) 20:27:09.43ID:AGFNapIR SQL Serverでは安易にできるけど MySQLってストアドで結果セット簡単に返せたっけ? Oracleはメッチャ大変だった記憶 0276NAME IS NULL2020/03/07(土) 22:38:04.44ID:???>>270 地味に面倒くせぇ https://www.db-fiddle.com/f/dQVqiZLJu6ntVKUtaKNSKM/10277NAME IS NULL2020/03/08(日) 12:55:14.35ID:56DADZoB>>276 おおお!ありがとうございます!! すごい。
もし、shopCも入れる場合にはどのようにすればいいですか?typesとCROS JOINだと思うのですが、うまくできませんでした。 欲しい結果 shop_name | type | total_price | x_rateA | x_rateB | exist ---------------------------------------------------------- shopA | A | 150 | 15 | 7 | 1 shopA | B | 200 | 20 | 10 | 1 shopB | A | 300 | 30 | 15 | 1 shopB | B | 0 | 0 | 0 | 0 shopC | A | 0 | 0 | 0 | 0 shopC | B | 0 | 0 | 0 | 0 0278NAME IS NULL2020/03/08(日) 13:04:30.24ID:???>>277 ordersに入っていないshop名をshopsから取得すればできるんじゃないか 0279NAME IS NULL2020/03/08(日) 13:08:35.25ID:??? こんな応用も考えられないやつがSQL使うんだな 業務のSQLだったら恐ろしいわ 0280NAME IS NULL2020/03/08(日) 14:23:53.68ID:56DADZoB>>278 https://www.db-fiddle.com/f/iFRAaUckQWb7FXKb3GRcC4/0