コード ```### ```~~````````````````````````ここに言語を入力 ここに言語を入力
ここに言語を入力
ここに言語を入力
ここに言語を入力
ここに言語を入力
ここに言語を入力
ここに言語を入力
ここに言語を入力
ヘディングのテキスト
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/27 01:44
回答2件
0
外部結合でなるべく表示してほしいと指示があった
多分、SQLServerの性能に関する特性について、そのような指示が出ているんでしょうけど、こんな正規化されていないテーブルに対してまでそれを言うかって感じですね。
SQLに関しては、「住所」「趣味」「それ以外」でそれぞれのクエリーを作成すれば正規化されたイメージになるので、それを外部結合して下さい。
投稿2020/03/27 00:21
総合スコア25327
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/27 09:15 編集
0
SQLを記載すると丸投げの質問に回答する感じになってしまうのでヒントだけ。
ただし以下の前提条件がないと、対応できません。
前提条件
1.姓が「空文字またはNULL」でない行から次の「空文字またはNULL」でない行までがID昇順で並んでいること
2.住所の入力は最大3つまでで、姓が「空文字またはNULL」でない行から連続していること
説明するうえでの呼び方
姓がある行の住所を住所1
住所1のID+1した行の住所を住所2
住所1のID+2した行の住所を住所3
上記の前提で
K3_Sheet1に住所2の行を取得したテーブルと住所3の行を取得したテーブルを外部結合すればよい。
住所2の行は、姓が「空文字またはNULL」でない行のID+1。
→逆にID-1すれば結合すべき住所1の行のIDになる
住所3の行は、姓が「空文字またはNULL」でない行のID+2。
→逆にID-2すれば結合すべき住所1の行のIDになる
あとは、住所1、住所2、住所3を文字列結合したときにどれかがNULLの場合の考慮をすること
以上です。
--追記
ID2がnullの行を最後に省いて、ID昇順に並べ替えるのを忘れてました。
投稿2020/03/26 15:10
編集2020/03/27 08:29総合スコア330
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/27 04:56 編集
2020/03/27 08:27
2020/03/27 08:52
退会済みユーザー
2020/03/27 09:08
退会済みユーザー
2020/03/27 12:24 編集
2020/03/28 07:27
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。