• ベストアンサー

SELECTしながらカウント

3つのテーブルを結合してselectしてるんですが、ある項目に1,2,3,4という値が入っています。1が何個で2が何個、3が何個4が何個と言う風に数を習得したいのですが、そのような事はできますか?どなたかご教授ください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

単純に、 select ある項目, count(ある項目) from table1 join table2 ・・・ on ・・・ group by ある項目 ではだめ?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#86752
noname#86752
回答No.1

インラインビューと言うものを使えばできると思いますが、ここで例を提示するのが難しいです。 可能でしたら「3つのテーブルを結合してselect」を補足に載せてください。 比較的新しいバージョンのSQL Serverでないとできないのと、スピードについてはあまり期待できないです。 インラインビューと言うのは簡潔に説明すると、from句にselect文を書き、それをあらかじめ作っていたビューであるかように使うことです。 書式としては select .... from (select xxx from xxx where xxx) as A where A.xxx = xxx と言った感じです。((select...) as Aの部分がインラインビュー)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ストアドのselect文で別テーブルのカウントを取得するには

    こんばんは。 以下のようなことをするのにどう記述していいのか わかりません。 入力パラメータ test1,test2に一致するテーブル1のレコードの 項目1と項目2の値と test1,test2に一致するテーブル2のレコードの カウントを 返したいと考えていますがどう記述したら テーブル2のカウントを返せるのかわかりません。 以下、考え中の内容を記述したものです。 テーブルTBL_AとテーブルTBL_Bがある。 TBL_Aの項目はFLD_1,FLD_2,FLD_3 TBL_Bの項目はFLD_1,FLD_2,FLD_3,FLD_4 TBL_AとTBL_Bには同一のフィールドFLD_1,FLD_2があり、 select FLD_1,FLD_2,FLD_3 FROM TBL_A WHERE FLD_1 = test1 AND FLD_2 = test2(select文1) 上記のSQLでTBL_AのFLD_1,FLD_2を取得する ここに、 select count(*) FROM TBL_B WHERE FLD_1 = test1 AND FLD_2 = test2(select文2) このselect文2で取得した値を select文1に接続して値を戻したいのですが やり方がわかりません。 戻したい値はTBL_AのFLD_1,FLD_2,FLD_3とTBL_Bのカウントです。 お分かりになる方教えてください。よろしくお願いします。 なおoracleは9iを使っています。

  • SELECTの検索速度と、DB設計

    DB設計で悩んでいます。 ・一つのテーブルにするとカラム数が100ぐらい。 ・格納するデータはテーブルを正規化するようなものではない。 この場合のSELECTでの検索速度ですが、たとえ取り出すカラムを指定していてもカラム数が多いと検索速度に影響がでるのでしょうか? 或いは、テーブルを小分けにして、取り出すデータに応じてテーブルを結合していく方が良いのでしょうか? という感じでカラム数が検索スピードに与える影響についてどなたかご教授いただけませんでしょうか。宜しくお願いします。

    • ベストアンサー
    • MySQL
  • selectの内容によって、登録するカラムを変えたい

    selectの内容によって、登録するカラムを変えたい selectであるテーブルからある値Aをとってきます。 値Aが1の時は別テーブルの金額1に登録、2の時は金額2に登録、3の時は金額3に登録 という処理を行いたいです。 同一レコードに対して複数の金額がある事があります。 テーブル1(取得テーブル) ------------------ キー 値A 金額 1   1  500 1   3  300 2   3  200 ------------------ テーブル2(登録テーブル) ------------------ キー 金額1 金額2 金額3 1   500  0  300 2    0  0  200 ------------------ いま、 insert into テーブル2 SELECT 項目 from テーブル1 というように1つのSQLで、登録、削除をしようとしていますが 可能でしょうか?。方法がよく分かりません。

  • SELECT時にカウントアップ

    下のように、あるテーブルをSELECTしたときに、 [NO]を定義して、[NO]にカウントをセットする。 ただし、カーソルは使用しない方法を 知っている方いますか? <テーブル項目> 本部、部、課 <SELECT実行後> NO 本部  部    課 ------------------------- 1 東京  総務   総務 2  東京  人事   採用 3  東京  営業   営業1 4  東京  営業   営業2

  • 一つのSQL文で取得したい

    こんにちは。 テーブルAに以下のようなデータがあるとします。 ID |名称 |項目 -------------- 01 |ああ | 02 |いい | 03 |うう |01,02 04 |ええ |01 SELECT文で取得したいのは、フィールド「項目」の値を、他のレコードの名称で置き換えた列です。 つまり、 ID |名称 |項目 |項目名称 ------------------ 01 |ああ | | 02 |いい | | 03 |うう |01,02 |ああ,いい 03 |ええ |01 |ああ という結果が欲しいということです。 「項目」の値はカンマで区切られています。 これを一つのSQLで取得したいと思っています(テーブルの結合、サブクエリーはOK)が、方法がわかりません。 どなたかどうぞご教授ください。 よろしくお願い致します。

  • PostgresSQL のSQL文について(SELECT) :2

    テーブル図があまりにもずれているため投稿しなおします。 PostgresであるSelect文がわかりません。 以下のテーブルより *KOUMOKU*[テーブル名] SUB1|SUB2|SUB3|SUB4|SUB5|ID_NAME A01  |    |    |    |   |大項目1 A01  |B01  |    |    |   |大項目2 A01  |B01  |C01  |    |   |大項目3 A01  |B01  |C01  |D01  |   |大項目4 大項目1~大項目4の値(ID_NAME)を一気に取得する SELECT文がわかりません。 「大項目1 大項目2 大項目3 大項目4」という検索結果を得たいです。 よろしくお願いいたします。

  • セレクトメニューの選択項目によって、もう1つのセレクトメニューの項目と項目数を変更する

    もう1つのセレクトメニューの項目数が同じタイプのものは、ネット上で見つけられたのですが、項目の数も違うものは見つかりませんでした。 たとえば、1つ目のセレクトメニューでAタイプとCタイプを選択すると、2つ目のセレクトメニューでは5項目から選択でき、Bタイプを選択すると、3項目から選択できるという風にしたいです。ご助言お願いします。

  • PostgresSQL のSQL文について(SELECT)

    PostgresであるSelect文がわかりません。 以下のテーブルより *KOUMOKU*[テーブル名] SUB1|SUB2|SUB3|SUB4|SUB5|ID_NAME A01 | | | | |大項目1 A01 |B01 | | | |大項目2 A01 |B01 |C01 | | |大項目3 A01 |B01 |C01 |D01 | |大項目4 大項目1~大項目4の値(ID_NAME)を一気に取得する SELECT文がわかりません。 よろしくお願いいたします。

  • SQLPLUSでセレクト結果の表示方法

    お世話になります。 SQLPLUSでselect * from AAA という風にセレクト結果を出力する場合 AAAテーブルのカラム数が多い場合改行されて出てきますが、 これを改行せずに1レコード1行で表示させられないでしょうか? 何かSQLPLUSのコマンド等をご存知の方いらっしゃったらご教授お願いいたします。

  • select文の書き方

    すみません、SQL初心者です。 joinで結合元の複数のカラムから結合先の同一のカラムの値を参照する方法がわかりません。 以下の場合、どうすればいいでしょうか。 テーブルseisekiとsimeiがあります。 seisekiにはテストIDとテスト毎の英語と国語のトップの生徒の生徒番号のカラムがあります。 simeiには生徒番号と生徒名カラムがあります。 2つのテーブルをjoinしてテストIDから英語と国語のトップの生徒の氏名を求める場合のselect文はどう書けば良いでしょうか?

    • ベストアンサー
    • MySQL
このQ&Aのポイント
  • MFC-J825Nの無線LAN接続が突然できなくなりました。以前は問題なく使えていたのに、突然ドライバーが繋がらなくなりました。
  • お使いの環境はWindows10で、無線LANで接続されています。関連するソフト・アプリはWindows10、64ビットです。
  • 電話回線の種類はひかり回線です。
回答を見る