- ベストアンサー
SQL 値を変更して表示
SQL文の記述についての質問です。 Access2003を使っています。 -------------------- | コード | 名前 | 性別 | ========== | 01 | A | 1 | -------------------- | 02 | B | 2 | ・ ・ ・ このようなテーブルで、性別を男性を1、女性を2としているのですが SELECT文で性別が1なら"男"、2なら"女"に変えて このテーブル全てのデータを得るようなSQL文はどのように書けばよいのでしょうか。
- water-bottle
- お礼率100% (8/8)
- その他(データベース)
- 回答数3
- ありがとう数4
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
<テーブル1> I D___性別 1____1 2____1 3____2 <クエリ1> 性別表示 男 男 女 このクエリ1の SQL 文は次の通りです。 SELECT iif(性別=1,"男","女") AS 性別表示 FROM テーブル1;
その他の回答 (2)
1、2以外のデータがないのであれば、 SELECT ....,IIf([性別]=1,"男","女") as 性別1 from tablename タイトルを「性別」にできるかどうかはわかりません。
お礼
回答ありがとうございました。 IIFを使って解決しました。 タイトルも「性別」にできました!!
- Jack-Skell
- ベストアンサー率25% (41/159)
こんにちわ^^ select decode(性別,'1','男','女') from TABLE ※解説 decode(性別,'1','男','女')この1文は まず、性別と書いてある部分はフィールドです。 テーブルの中に性別の1or2が格納されているフィールドがあるとおもいますのでそのフィールド名です。 次に性別以降の解説です。 『性別のフィールドの値が1なら男それ以外なら女』という記述になります。 decode(性別,'1','男','2','女','') ちなみにこうすると、 『性別のフィールドの値が1なら男、2なら女、それ以外ならnull』が返ってきます。 解らないことがあったらまた聞いてください^^
お礼
早速の回答ありがとうございました。 Accessではdecodeが使えないようでしたので IIFを使いました。
関連するQ&A
- SQL文
こんにちは。 ACCESS2000を使用しています。 テーブルに受付番号と性別(男性=1・女性=2)のフィールドがあります。 性別のフィールドだけを使用して、男性人数・女性人数・男女の合計人数・男性比率・女性比率を求めるSQL文の書き方がわかりません。 アドバイスよろしくお願いいたします。 ※下記SQLで性別毎の人数までは出せるのですが。。。 SELECT 性別, Count(性別) AS 人数 FROM データテーブル GROUP BY 性別;
- ベストアンサー
- その他(データベース)
- SQLの書き方について教えてください。
SQL Server2000で下記のようなSQL文を書きたいと思っています。 テーブルAとテーブルAに無関係な2個のフィールドを 持つテーブルBがあり、テーブルAのデータをテーブルBにコピー したいと考えています。その際にテーブルBの2個のフィールドに対して 決められた値を挿入したいのですがどのように記述すればよいのか わかりません。 お分かりの方お教えいただけませんでしょうか よろしくお願いいたします。 下記の記述をしています。 INSERT INTO テーブルB ( A, B, C, D ) SELECT テーブルA.A, テーブルA.A, XXX1, XXX2 FROM reserveSETdateTRN; Cに東京 Dに品川 を入れたいと思っています
- 締切済み
- SQL Server
- こんなSQLを教えてください
こんなSQLを教えてください <更新前> テーブル1 |キー|コード| | 1| a| | 2| b| | 3| c| テーブル2 |キー|コード| | 2| B| | 4| D| <更新後> テーブル1 |キー|コード| | 1| a| | 2| B| | 3| c| こんなふうに テーブル1と同じデータがテーブル2にあったら テーブル1を書き換えるUPDATE文を教えてください
- ベストアンサー
- Oracle
- SQL文について
SQL文について 現在一度に検索ができずに困っているため質問します。 データベースに男性テーブルと女性テーブルがあります。 男性テーブル ・番号 ・名前 女性テーブル ・番号 ・名前 このテーブルより自分の父、母、母の父を表示させたいのですが SELECT 男性テーブル.名前, 女性テーブル.名前, (※母の父を表示させたい) FROM 男性テーブル, 女性テーブル WHERE 男性テーブル.番号=父の番号 AND 女性テーブル.番号=母の番号 このあと条件に (AND 男性テーブル.番号=母の父の番号) をつけることはできないためSQL文の書き方で困っています。 抽出データは複数なので※の部分にサブクエリを書くことができません。 何かよいSQLの書き方はありますでしょうか?
- 締切済み
- SQL Server
- ACCESSのVBAのSQLを教えてください。
テーブル1とテーブル2があり、それをUNIONで結合して、リンクさせたOracleのテーブルキーと 結合し、Oracleのテーブルにないキーを検索したいのですが、うまく出来ません。 ACCESSのVBAで作りたいのですが・・どうかご教授願います。 構成 テーブル1 項目名 Key 顧客コード1 名前 テーブル2 項目名 Key 顧客コード1 Key 顧客コード2 名前 Oracleのテーブル テーブルB 項目名 Key 管理コード テーブル1の顧客コード1とテーブル2の顧客コード2をUNIONでまとめたものをA1としA1.顧客コードとします それとOracleのテーブルであるテーブルBの管理コードと結合して テーブルBにないA1の顧客コードを抽出するSQL文を作成したいと思います。 (管理コード,顧客コード1,顧客コード2は同じ属性、同じ桁数) SELECT A1.管理コード FROM ( SELECT T1.顧客コード1 as 顧客コード FROM テーブル1 T1 UNION SELECT T2.顧客コード2 as 顧客コード FROM テーブル2 T2 )A1, テーブルB WHERE A1.顧客コード = テーブルB.管理コード AND テーブルB.管理コード IS NULL; エラーにはなりませんが、実行結果は、管理コード 0件です。データ的には、テーブルB側にはテーブル1にはあるがテーブルB側にないデータはあります。
- 締切済み
- その他(プログラミング・開発)
- SQL文
名前、性別、年齢の載っているA表から19歳以下の女性、または26歳以上の女性の名前を抽出するSQL文はSELECT 名前 FROM 表A WHERE 性別=’女’AND 年齢<20 OR 性別=’女’AND 年齢>25 が正解ですが、性別=’女’を1回にして SELECT 名前 FROM 表A WHERE 性別=’女’AND 年齢<20 OR 年齢>25 ではだめでしょうか。教えてください。
- ベストアンサー
- その他(データベース)
- sql server 2008でjoinの使い方
sql server 2008にて、joinの使い方について教えて下さい。 以下二つのテーブルがあります。 所属テーブル 名前 性別 所属 田中 男 経理部 田中 女 総務部 鈴木 女 経理部 佐藤 男 総務部 住所テーブル 名前 性別 住所 田中 男 杉並区 佐藤 男 中野区 鈴木 女 中央区 この二つのテーブルよりデータを取得し、以下のテーブルを作りたいです。 住所と所属テーブル 名前 性別 住所 所属 田中 男 杉並区 経理部 田中 女 null 総務部 鈴木 女 中央区 経理部 佐藤 男 中野区 総務部 但し、left join を使って、 所属テーブル.名前 = 住所テーブル.名前 and 所属テー ブル.性別 = 住所テーブル.性別 の条件を使用すると、女性の田中さんのデータが抽出されません(住所テーブルに登録されていないため、マッチングできていません)。どうすれば以上のテーブルが作られますか?
- 締切済み
- SQL Server
- AccessVBAでSQL文を書いています
私の環境はOS:Xp ACCESS2000です。 宜しくお願いします。 タイトルの通りSQL文を書いているんですが、書き方が解りません。 sql = "select 顧客コード from ポイント管理テーブル " sql = sql + " where 顧客コード = '" & Me.顧客コード & "'," sql = sql + " 受注年 = '" & Me.受注年 & "'," sql = sql + " 受注月 = " & Me.受注月 & "," sql = sql + " 受注日 = " & Me.受注日 & "" 初歩的な質問なのですが、上記はどのように記述したらよいのでしょう? ちなみに、顧客コードと受注年がテキスト型 受注月と受注日は数値型としてテーブルに持っています。 よろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
- SQLについて質問です。
今あるテーブル1のカラムA(number型)と 全く同じテーブルにあるカラムB(varchar型)を つなげて (number型) IS (varchar型) A IS B … のように真ん中に『IS』を挟んで データを全て出したいのですが、 SQLの書き方がよくわかりません。 自分では select A ||'(' || IS || ')'|| B from table1 のように書くのでは?と思っていますが、 全く上手くデータをこの形で出すことができません。 このデータを出すためには どういったSQLを書けばよろしいのでしょうか? よろしくお願いします。
- ベストアンサー
- Oracle
お礼
回答ありがとうございました。 無事解決しました!!