###初めに
Teratailを初めて使うので、何か不足している点がございましたらご指摘いただければ幸いです。
###概要
SQLserverにて、SELECT文を用いてデータの取得を行う際に、他テーブル間とのやり取りに困っています。
使用環境
・Windows10
・SQLserver2017
###状況説明
以下の2つのテーブルがあるとします。
Personテーブル
ID | Name | GenderID |
---|---|---|
1 | 山田太郎 | 1 |
2 | 岡田花子 | 2 |
3 | 佐藤隆 | 1 |
Genderテーブル
ID | GenderType |
---|---|
1 | 男 |
2 | 女 |
###やりたいこと
PersonテーブルをIDで検索する際に、性別をIDで表示するのではなく、GenderテーブルのGenderTypeの名前で出力したいと考えています。(出力結果参照)
出力結果
ID | Name | Gender |
---|---|---|
1 | 山田太郎 | 男 |
以前は、サブクエリを使った以下のコードを用いていたのですが、サブクエリですとデータベースがが大規模になってしまったときに、コードの可視性や作成の効率が落ちてしまうので非常に困っていました。
サブクエリ以外に何か効率よく実装できる方法があれば、ご教授いただければと思います。
SQL
1SELECT 2 ID,Name,(SELECT GenderType FROM dbo.Gender WHERE ID = Person.ID) as Gender 3FROM dbo.Person 4WHERE ID = 1;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/31 13:32