- ベストアンサー
SQLのカウントについて
質問です。 テーブルAとBに下記データが存在した場合、AにいてBにいなかったデータは「0」AにいてBにもいた場合のデータはその件数を抽出するSELECT文を教えて下さい。 テーブルA テーブルB A1 A1 A2 A1 A3 A1 A4 A3 A5 A4 ---------- 結果 ---------- A1 3 A2 0 A3 1 A4 1 A5 0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- cool_koo1976
- ベストアンサー率50% (40/79)
関連するQ&A
- SQLの書き方(チェックボックス)
このスレでいいのかちょとわからなかったのですが、 SQLの書き方のなのでこちらで質問をさせて頂きます。 (VB.NET) □ A □ B □ C チェックボックス(A,B,C)があります。 例えば(A、B,C)どれか一つ選択された場合 SELECT文でテーブルA、B、Cからデータを抽出するイメージは わくのですが、チェックボックスで(A、C)など複数 選択された場合には、SELECT文でテーブルAを抽出し 終わった後、SELECT文でテーブルCを抽出するのは 問題があるのではないかと思います。 ただイメージがわきません…。ヒントでもいいので もしよろしければアドバイスよろしくお願い致します。
- ベストアンサー
- Oracle
- データがあれば○○なければのSQL
基本的なことなのかもしれませんが・・・ AとBというテーブルがあり、あるタイミングでAを元にBを作成します。つまりBはデータがある場合とない場合があります。また、2つは関連番号で紐づいています。 Aテーブルを抽出したい時に、抽出条件は以下です。 ・Bテーブルのステータスが1であれば抽出 ・Bテーブルのステータスが0であれば非抽出 ・Bテーブルにデータがなければ抽出 INNER JOINだとデータがない時に抽出できないし、 WHERE句にCASE句を入れればいいのかなと思いましたが、テーブルにデータがあればなんて条件書けないしで詰まりました。 SELECTした結果に対して条件つけて抽出する手も思いつきましたが もっと美しいSQLがあれば教えてもらえないでしょうか。 環境はSQLServerです。よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- mysqlのsql文について教えて下さい
mysqlのsql文について教えて下さい 下記のようなテーブルとデータがあった場合に どうやれば 2,次郎だけを抽出できますか? 本日日付(2010-08-06)が 既にテーブルBにdateが存在する場合は 3,1,2010-08-04 3,1,2010-08-06を 対象外にしたいです。 Aテーブル id,user 1,太郎 2,次郎 3,3郎 Bテーブル targetid,homonid,date(datetime型) 3,1,2010-08-04 3,1,2010-08-06 3,2,2010-08-05 下記だと2010-08-04にヒットしてしまい(当たり前?)動作しません。 select distinct a.* from tblA a, tblB b where date_format(b.date, "%Y-%m-%d") <> "2010-08-06" ;
- 締切済み
- MySQL
- SQL・・・分かりません。
SQLの勉強をしています。 仕事の研修で習っているのですが、基礎的なものを学習しましたが 応用したパターンが全く理解ができません。 例としまして ・AテーブルとBテーブルを結合して、データを抽出する ・Aテーブルに存在しているのに、Bテーブルに存在していないデータも抽出する ・しかし、Aテーブルに存在していないのに、Bテーブルに存在しているはデータは抽出しない ☆抽出方法に二パターン存在する 1つ目も全く見当つかずです。ヒントでよいので教えていただけたらと思います。 意味が分からなかったらすみません。何を描き足したらよいか教えて下さい。 宜しくお願いしたします。
- ベストアンサー
- Oracle
- ACCESS2000のSQLについて
ACCESS2000のSQL文について質問です。 K情報テーブル:(支店(テキスト型),所属(テキスト),氏名(テキスト),ログ(テキスト),抽出件数(数値),処理日(日付型)) 支店 所属 氏名 ログ 抽出件数 処理日 ----------------------------------------- 関東 埼玉 太郎 A 50 2009/02/25 関西 大阪 次郎 B 15 2009/04/01 関東 埼玉 太郎 A 10 2009/03/05 関西 大阪 次郎 B 5 2009/04/06 東北 青森 三郎 C 2 2000/01/02 東北 青森 三郎 A 2 2000/01/02 ・ ・ ・ ----------------------------------------- 以上のテーブル情報を、SQL文にて抽出したいのですが、抽出条件が私には難解で解決の見通しが立ちません。ご教授をお願いします。 ***条件*** [ログ] = "A" のみ抽出。 現在日から過去3ヶ月前までのデータのみ抽出。 [氏名]ごと[ログ]の総合計。 [氏名]ごとの[抽出件数]の総合計。 [ログ]の総合計の上位30件を降順で。 順位にNo.をふる。 上記の条件で抽出したデータをを下記の作業テーブルに出力したと思っております。 作業テーブル:順位,所属,氏名,ログ件数,抽出件数 宜しくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- AccessのSQLで合計数をそれぞれカウントした
お世話になります。 Access2000で作成しております。 下記のテーブルでAccess2000のSQLを駆使して、 下記の結果を抽出したいと思っております。 やまだの成績=80の件数のみを抽出することはできたのですが、 80と60を同時に抽出する方法がわかりません。 お手数ですが教えていただければと思います。 --テーブル--- 名前 成績 やまだ 80 やまだ 80 たなか 80 やまだ 60 やまだ 80 ---結果※やまだのみ、各点数の件数----- 名前 80の件数 60の件数 やまだ 3 1
- ベストアンサー
- Visual Basic
- SQLを教えてください!!
テーブルAとテーブルBがあり、両方に存在しないものを抽出してエラーとする処理を行いたいのですが、 どういうSQlを書いたらいいのか教えてください。 下記例としてテーブルにデータがあったとしたら、結果として 004 商品D 005 商品E 006 商品G というデータを抽出したいのですが・・ テーブルA テーブルB ------------- ----------------------- コード 商品名 NO コード 商品名 001 商品A 1 001 商品A 002 商品B 2 001 商品A 003 商品C 3 002 商品B 004 商品D 4 003 商品C 006 商品G 5 003 商品C 6 005 商品E
- 締切済み
- その他(プログラミング・開発)
- SQLの記述について
SQLの記述で Aトランザクションテーブル(以後Aテーブル)とBマスタテーブル(以後Bマスタ)が有り, AテーブルにBマスタの内容を反映させ或る条件のデータだけ抽出は可能でしょうか? 例 Aテーブルの内容をBマスタを検索しデータがAの場合のみ抽出 Aテーブル Bマスタ キー データ キー データ 001 0001 001 A 001 0002 002 B 002 0003 003 A 001 0004 004 C 002 0021 003 0005 004 0001 実行結果 キー データ 001 0001 001 0002 001 0004 003 0005 上記の結果のように,Aテーブルの内容からBテーブルを見て条件を判断しての抽出は可能でしょうか?
- ベストアンサー
- その他(プログラミング・開発)
お礼
親切な回答ありがとうございます。 理屈がわかりましたので早速試したいと思います。 ありがとうございました。