SQLでLEFT JOINを使わずに文字列結合と完全nullレコードなしでの出力
どんなヒントでもいいので、視点をください。
SQL初心者ですが、回答しなければ仕事がもらえない状況で切羽詰っています。
「left joinを使わずにという件名で考えたsqlにleft jonがある」のは、元々問題を与えられたときにはupdateやinsert、drop、createは使うな、書き換えは禁止と言われていただけだったので、自分なりに調べleft joinの自己結合でなら出力が可能でした。そして、それを持っていったところ、急にleft joinも使わずにおこなうように言われました。
前提・実現したいこと
updateやinsertを使わずにselectで
上のテーブルの状態から下のテーブルの状態での出力
スプレッドシートの白い部分はnullです。よろしくお願いします。
該当のソースコード
SQL server 自分なりに考えたソースコード select ROW_NUMBER() OVER(ORDER BY a.id ASC) id, a.名前, a.性別, a.住所 + b.住所 + c.住所 as 住所, a.id2, a.備考 from table a left join table b on a.id = b.id - 1 left join table c on a.id = c.id -2 where 備考 is not null; 家ではSQLを扱える環境がないため、上記のコードが間違えているかもしれませんが、よろしくお願いします。 なんでもいいので、アドバイスをください。
試したこと
・LEFT JOINの代わりにNOT EXISTSが使えるみたいにインターネット上には書いていますがどうしてもうまくいきません。
・自己結合をinner joinで行うとレコードが減ります。
・基準をidではなくid2でもできないかとも考えましたが、id2で一つにまとめる方法や
エクセルのように空白のセルを上と同じにする方法がSQLでどうすればいいのかわかりません。
心優しい方、解き方をご教示ください。
丸投げみたいな感じで申し訳ありませんが、私には難しすぎて困ってます。解放の手がかりが欲しいのです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー