- ベストアンサー
レコードの有無をすばやく検索するSQL文
初歩的な質問で申し訳ありません。 テーブルAの中に、キー1が100から109までのキーを持つレコードがあるかないかを調べるSQL文を教えてください。 テーブルA キー1 キー2 100 1 100 2 105 1 107 1 上記の場合結果は 100 有り 101 なし 102 なし 103 なし 104 なし 105 有り 106 なし 107 有り 108 なし 109 なし と表示したいのです。 よろしくご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- root139
- ベストアンサー率60% (488/809)
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
関連するQ&A
- SQL文の書き方
SQLを勉強しています。 レコードの中で指定フィールドの文字列が、指定文字から始まるレコードを取り出したいのですがSQL文の書き方がわかりません。 例) 1, AAA 2, BBB 3, CCC 4, ABC 上記の4つのレコードから"A"から始まるレコードを取り出したい。 結果は[1, AAA]と[4, ABC]が欲しいのです。
- ベストアンサー
- その他(データベース)
- レコード集計のSQLについて
お世話になります。 SQL Serverに関する質問です。 以下の内容を満たすSQLを作成したいのですが、 方法がわからず困っています。 (内容) *************************************************************** ・Aテーブル、Bテーブルには、以下のレコードが格納されています。 [Aテーブル] | key_code | code1 | code2 | code3 | money | person | ← カラム名 ---------------------------------------------- | 001 | 1 | 1 | 1 | 1000 | 10 | ---------------------------------------------- | 001 | 1 | 2 | 1 | 3000 | 10 | ---------------------------------------------- | 001 | 1 | 1 | 1 | 1000 | 10 | ---------------------------------------------- [Bテーブル] | key_code | cd1 | cd2 | cd3 | cd4 | cd5 | ・・・・・ | cd10 | ← カラム名 ------------------------------------------------------------ | 001 | 01 | 02 | 10 | 30 | 51 | ・・・・・ | 90 | ------------------------------------------------------------ | 002 | 01 | 02 | 03 | 10 | 40 | ・・・・・ | 55 | ------------------------------------------------------------ ・Aテーブルの key_code とBテーブルの key_code を関連付けて、 Bテーブルのcd1~cd10に格納されている各コード単位に集計した Aテーブルのmoney及びpersonの値を取得したい。 例えば、 key_code = '000' でAテーブルとBテーブルを関連付けして、 Bテーブルのcd(1~10) = '10' で集計した Aテーブルの money と personの 値を求めたい。 **************************************************************** 初歩的な質問で申し訳ございませんが、 どなたかご教授願えませんでしょうか? よろしくお願いいたします。
- 締切済み
- SQL Server
- SQL文の構築について教えてください。
SQL文の構築について教えてください。 こんばんは。Oracle9iのデータベース検索で、どうしてもSQLが思い浮かばないため、質問させていただきます。 ■Table ID NUM SIGN 100 1 A 100 2 A 101 1 A 102 1 B 103 1 B 104 1 C 首キーはID、NUMです。 上記のようなテーブルで、 IDが同一かつNUMが最大のもので、 SIGNが同一のレコードで、2件以外のレコードを抽出したいです。 (例表でいうと、ID104のレコードのみが抽出されるようにしたい) すこし急ぎなんですが、SQLが得意でお時間がある方、力を貸していただけないでしょうか。 よろしくお願い致します。
- ベストアンサー
- Oracle
- SQL文で教えてください。
次のようなデータがあったとします。 HANCD,KOKCDは主KEYで、すべてStringです。 HANCD|KOKCD|DAY1|DAY2|DAY3|DAY4 0001|000001|20081001|20080928|20080930|20081003 0001|000002|20081210|20080925|20081030|20081015 0002|000001|20080911|20080918|20081005|20081002 0002|000003|20080917|20080925|20080928|20081012 0003|000003|20081006|20081210|20081210|20081002 0003|000004|20081011|20080923|20081013|20080926 上記6人のレコードでDAY1~DAY4の中でDAY3が最大である人の 結果を返すSQL文がわからなくてこまっています。 MAXは使えないし・・・。 回答としては HANCD|KOKCD 0002|000001 0003|000003 0003|000004 が結果として返ってくるSQL文です。 よろしくお願いいたします。
- 締切済み
- その他(データベース)
- SQL文で2つのSELCT文の結果を繋げる方法
SQL文で2つのSELCT文の結果を繋げる方法はありますでしょうか。 Left Join でもと思ったのですが、片側にしかないのも、1レコードとして出力したいです。 テーブルの例と出力の理想は以下です。 また、上記の応用でこれを4テーブル(SELECT文)を繋げて、下記例で言うと、日付と商品コードがキーで、どのテーブルに存在しても、結果を1行で返せるでしょうか。 【テーブル1(SELECT文1)】 F_仕入 伝票日付 商品コード 仕入金額 2014/07/01 101 10,000 2014/07/02 102 15,000 2014/07/05 104 20,000 【テーブル2(SELECT文2)】 F_売上 伝票日付 商品コード 売上金額 2014/07/01 101 15,000 2014/07/02 102 25,000 2014/07/03 103 13,000 上記2つのSELECT結果 伝票日付 商品コード 仕入金額 売上金額 2014/07/01 101 10,000 15,000 2014/07/02 102 15000 25,000 2014/07/03 103 13,000 2014/07/05 104 20,000 よろしくお願いします。
- ベストアンサー
- SQL Server
- SQL文の副問合わせについて
いつも勉強させて頂いています。 SQLの副問合わせでわからないところが出て来ましたので、教えて頂けると助かります。 <環境> VB 2008 SQLSERVER 2005 <内容> 金額の集計をしたいのですが。 テーブルA 品番(主キー) 品名 予測金額 テーブルB 品番(キー) 品名 確定金額 テーブルAの品番に対してテーブルBのレコードが1対多の関係です。 <結果> 品名に「あ」を含むもの、 テーブルAのCOUNT、 テーブルBのCOUNT、 予測金額合計、 確定金額合計 上記結果で出力したいのですが、困っています。 宜しくお願い致します。
- 締切済み
- SQL Server
- Insertで重複となったキーをさがすSQL文
テーブルの移行(Aテーブルのデータをキーを変更してBテーブルにInsertする)を行ったところ、 ERROR: duplicate key violates unique constraint "Bテーブル_unique"とメッセージが出ます。 SQL文はつぎの通りです。 INSERT INTO Bテーブル(契約番号, ユニット番号, 資源番号, 入力日, 数量) SELECT a.契約番号, a.ユニット番号, a.資源番号, a.入力日, a.数量 FROM Aテーブル a ; Bテーブルのキーは、契約番号, ユニット番号, 資源番号, 入力日です。 Aテーブルのキーは、契約番号,入力日,レベル1,レベル2です。 データ件数は約3万件です。 Bテーブルを調査して、重複となるレコードを表示させたいのですが、 SQL文がわかりません。 よろしくご教授ください。
- ベストアンサー
- PostgreSQL
- SQL文が上手く記述できません・・。
<<テーブル名:master>> SHOUHIN NO KOSU ------- --- --------------- A 1 500 A 2 100 A 2 300 A 2 200 A 3 220 A 3 150 A 4 200 A 4 300 A 4 100 <<抽出結果>> SHOUHIN NO1 NO2 NO3 NO4 GOUKEI ------- --- --- --- --- ------ A 500 600 370 600 2070 上記のmasterテーブルから、NO毎にKOSUの値を集計して 1レコードにまとめて下記の抽出結果のようにデータを抽出したいと 考えているのですが、なかなか上手くSQLを記述する事が出来ません・・・。 下記のような結果を抽出することは可能でしょうか? ご存知の方がいらっしゃれば、ご教授頂ければ幸いです。 宜しくお願い致します。
- ベストアンサー
- Oracle
- 一つのSQL文で取得したい
こんにちは。 テーブルAに以下のようなデータがあるとします。 ID |名称 |項目 -------------- 01 |ああ | 02 |いい | 03 |うう |01,02 04 |ええ |01 SELECT文で取得したいのは、フィールド「項目」の値を、他のレコードの名称で置き換えた列です。 つまり、 ID |名称 |項目 |項目名称 ------------------ 01 |ああ | | 02 |いい | | 03 |うう |01,02 |ああ,いい 03 |ええ |01 |ああ という結果が欲しいということです。 「項目」の値はカンマで区切られています。 これを一つのSQLで取得したいと思っています(テーブルの結合、サブクエリーはOK)が、方法がわかりません。 どなたかどうぞご教授ください。 よろしくお願い致します。
- ベストアンサー
- SQL Server
- 【SQL】SELECT 文で外部のレコードと比較する。
こんにちわ タイトルがわかりにくく申し訳ありません。^^;) 【やりたい事】 ○テーブルA に下記のレコードが有ります。 ID FIRSTNAME LASTNAME 00 ICHIRO SUZUKI 01 TARO YAMADA 02 TSUYOSHI SHINJYO ○テーブルB に下記レコードが有ります。 ID LASTNAME 00 SUZUKI 01 SASAKI ここで テーブルB に登録されている LASTNAME と同じ LASTNAME を持つレコードを テーブルA から抽出する SQL を教えて頂けないでしょうか? この状態で抽出されるレコードは 00 ICHIRO SUZUKI です。 お時間のある時で構いませんので、よろしくお願い致します。
- ベストアンサー
- その他(データベース)
お礼
ご回答ありがとうございます。 generate_series関数を使ってみます。 簡単そうでテーブル件数が増えても対応できるで便利ですね。