SQL Server

全2973件中461~480件表示
  • 一定回数以上の入金データの明細を表示する

    Microsoft SQL Server Management Studio 2008 にて、クエリを作成しています。 下記の入金テーブルがあります。 入金日  顧客ID  入金額 2012/2/1  0010 10000 2012/2/2 0010 10000 2012/2/3  0010 10000 2012/2/4  0010 10000 2012/2/5  0020 10000 2012/2/6  0020 10000 2012/2/7  0020 10000 2012/2/8  0030 10000 2012/2/9  0030 10000 このテーブルから1か月単位で3回以上の入金をした顧客の 明細(上記3項目)を表示したいのです。 上記の例だと、実現したい結果は下記となります。 入金日  顧客ID  入金額 2012/2/1  0010 10000 2012/2/2 0010 10000 2012/2/3  0010 10000 2012/2/4  0010 10000 2012/2/5  0020 10000 2012/2/6  0020 10000 2012/2/7  0020 10000 とりあえず、入金回数別の入金件数だけを出すクエリは成功しました。 SELECT cnt, count(*) from (select 入金テーブル.顧客ID,COUNT(*)cnt FROM 入金テーブル WHERE 入金テーブル.入金日 >= '2012-02-01 00:00:00.000' AND 入金テーブル.入金日 <= '2012-02-29 23:59:59.000' group by 入金テーブル.入金日) aaa group by cnt order by cnt しかし、 1. 明細を出すところ 2. 3回以上の入金という条件指定ができない 上記2点でつまづいています。 どなたかご教示いただけると、大変助かります。 夜も眠れません。。。

    • rko910
    • 回答数1
  • SQLServer2008でタイムアウト

    SQLServer2008を使っています。 レセプトを入れた大きなテーブル(1000万行以上)から、何年何月にどの保険者(たとえば国保)に何件請求があったかを取り出したいと思います。 保険者は保険者番号(10桁前後の数値)、診療年月は200904のような形で入っています。 主キーになる項目はないので主キーは設定していません。 ManagementStudioにて保険者番号、診療年月に下記のコマンドでインデックスを設定しました。 CREATE NONCLUSTERED INDEX IDX_レセプト1 ON dbo.レセプト(保険者番号) CREATE NONCLUSTERED INDEX IDX_レセプト2 ON dbo.レセプト(診療年月) その後、目的の集計を行うべくManagementStudioで下記のSelectコマンドを実行しました。 SELECT 保険者番号, 診療年月, COUNT(保険者番号) AS Expr1 FROM dbo.レセプト GROUP BY 保険者番号, 診療年月 ところがタイムアウトになってしまうのです。 オブジェクトエクスプローラーで一番上のアイコンを右クリックし、プロパティで接続のタイムアウトを0に設定してみましたが改善しません。 どうしたらいいでしょうか。

  • SQLSrv2008R2 データサイズの測り方

    複雑な勘定系システムで使用されるSQLServer2008R2のデータベースを構築をすることになりました。現在HDDの選定をしている段階です。DBの必要ディスクサイズが分からず苦戦しております。 勘定系システムが複雑なもので、仕様を把握している人員がおらず、1伝票データを投入した際のデータサイズを測定するのに、関連するテーブルを全て洗い出し、全カラムごとのサイズをもとに計算ということができません。 ある伝票データを登録したさいのデータサイズを測るために、1万件のデータを投入した際のデータサイズを測り、それをもとにざっくりとした必要サイズを計算しようと考えました。 しかし、データ投入後DBのサイズは変更されません。 DBの自動拡張設定はMDFもLDFも1MBごとに自動拡張としています。 試しに2MBのテキストファイルを投入しましたが、それでもDBのサイズは変わりません。 確認の仕方は、ManagementStudioのDBメニューであるレポートからディスク使用量を表示して確認、およびエクスプローラからMDF、LDFファイルのサイズを目視確認です。 サイズが変わらないのは自動拡張の設定に誤りがあるからでしょうか? お分かりになる方がいらっしゃいましたらご教示いただきたく。

    • mame800
    • 回答数1
  • Left Joinについて

    Left Joinについて select * From shohin left join meisho on sh03 = me02 and me01 = 1 where **** select * From shohin left join meisho on sh03 = me02 where me01 = 1 left joinの中に me01 = 1があるパターンとwhere句に me01 = 1 があるパターンで検索結果が変わってくる具体的にどう変わるのでしょうか 良く理解ができていないので教えてください

    • tkwavek
    • 回答数3
  • TRANSACT-SQLでのシステムエラーの検知

    TRANSACT-SQLで下記のような処理を記述したとき、 (1)~(3)で起きたシステムエラーの検知はCATCHで共通的に行えますか? TRY  SELECT処理  ↓  エラー発生(1)  ↓  INSERT処理  ↓  エラー発生(2)  ↓  UPDATE処理  ↓  エラー発生(3) CATCH  GOTO 異常終了処理 END COMMIT :異常終了定義 ログ出力(エラーメッセージ) ロールバック ※エラー処理は、テーブルがDROPされていた、ディスクが破損したなどの通常は発生しないエラーが起きた場合を想定しています。 ※エラーメッセージはステートメントが最終の処理の結果を持ってくれていて、その取得方法があると思っています。 もし実現できなかったり、実現出来たとしても問題があるようであればご指摘頂きたく存じます。

  • SqlServer2008の管理ツール

    いつも楽しく勉強させていただいております。 用語の間違いなどありましたら、ご指摘ください。 WinXpのPCにSqlServer2008Expressをインストールしたのですが、管理ツールがうまく入らなかったようです。 管理ツールという呼び方は間違っているかもしれません。 以前のバージョンのSqlServerでGUIでテーブルやビューを作成できるものがありました。 あれのことです。 今現在[スタート]-[すべてのプログラム]-[microsoftSqlServer2008 R2]と選択すると、その先に表示されるのは[構成ツール]と[データのインポートおよびエクスポート]だけです。 そこで管理ツールを追加インストールしたいのですがうまくいきません。 インストールを実行すると[インストールの種類]のウィンドウで[インストール済みのインスタンス]の2行目に表示されるEnterprizemanagerとは管理ツールのことでしょうか(添付画像参照)。 もしかしてすでに管理ツールはインストールされており、なぜか使用できない状態にあるということなのでしょうか。 インスタンスIDに「不明」と表示されるのも気になります。 ちなみにExpress版のインストールですが、ダウンロードしたものではなく有償のメディアから入れております。 どうしたら管理ツールが使えるようになるのでしょうか。

  • SQL 列名が無効です。

    Microsoft SQL Server Management Studio 2008 にて、SQLを作成しています。 入金テーブルに下記の2項目が入力されています。 1.通貨 2.額  通貨は円とドルしか存在しません。 そして10万円相当以降の通貨と額だけを抜きとりたいのです。 私が作成したSQLは、 SELECT CASE WHEN 入金テーブル.通貨 = 'ドル' THEN 入金テーブル.額 * 80 (為替レート1ドル80円の場合)   ELSE 入金テーブル.額 END As 入金額 FROM 入金テーブル WHERE 入金額 > 100000 別名の入金額が値として認められないのが、問題だと思いますが、 どうしたらいいのでしょうか? よろしくお願いします。

    • rko910
    • 回答数1
  • SQL文の作成でなやんでいます。

    一ヶ月分のカレンダーがあり 営業日には1がたっているテーブルがあります 営業日 営業日フラグ 実営業経過日数 2012/02/01 1 1 2012/02/02 1 2 2012/02/03 0 2 2012/02/04 0 2 2012/02/05 1 3 2012/02/06 1 4 2012/02/07 1 5 2012/02/08 0 5 上記のように実営業経過日数をクエリで抽出したいのですが どのようにサブクエリを作成したらいいのか教えてください

  • SQLServer - Access開発環境

    SQLServer2008R2 ExpressのデーターベースへAccess2010を使ってアクセスし、帳票を作成する事になりました。 使用している業務パッケージがSQLServerを使っていて、それで出てこない帳票をAccessかExcelで 作るように言われました。 私は、Access同志のテーブルリンクは使った事があるのですが、SQLServerへのテーブルリンクは始めてです。SQLServerは運用のために本で勉強した程度です。 色々調べてみたのですがよくわからないので、ご存知の方お願いします。 AccessとSQLServerは同じパソコンの中に置く予定です。 業務パッケージで使っているパソコンは1日中入力に使われていて同じパソコンをAccessの開発用に使用することができません。 業務パッケージのデータベースは、オフラインバックアップしているので、Accessでの開発用の 環境に移せそうな気がしますが ODBC経由でSQLServerをテーブルリンクする場合、データソースを作る時に サーバー名とかユーザ名とかを指定するので、Accessを開発環境から運用環境に移行した時の手直しがどの程度必要なのかがよくわかりません。 現在の業務の関係上、サーバー名を同じにした環境を作成することもできません。 業務パッケージを作った所も今はもう無いし、社内に詳しい人はいないので困ってしまいました。 あまり具体的に書けずに申し訳ありませんが、 上記環境で運用環境に移行出来るものか否かと SQLServer ・ Access作成時の注意点・などありましたら教えてください。 よろしくお願いいたします。

  • LOCK_ESCALATIONオプションの確認方法

    LOCK_ESCALATIONオプションが設定されているか否かが わかるSQLを教えてください。 SQL Server 2008になってから、ロックのエスカレーションの無効化を テーブル単位に行えるようになった事を知りました。 具体的には以下のSQLにてできるようです。 ALTER TABLE TBL01 SET ( LOCK_ESCALATION = DISABLE ) セットの方法はわかったのですが、「今どうなっているか」を知る方法は ないものでしょうか? どなたかご存知の方いらっしゃいましたら教えてください。

    • baunce
    • 回答数1
  • クエリのキャンセルがいつになっても終わらない

    SQLServer2005 Workgroup を使っています。 500万行ぐらいあるテーブルがあるのですが update テーブル名 set 列=~~ where ~~~ update テーブル名 set 列=~~ where ~~~ update テーブル名 set 列=~~ where ~~~ update テーブル名 set 列=~~ where ~~~ というプログラムを実行したところ、10時間経っても計算結果が終わらない為、 一旦キャンセルをしました。 ところが「クエリをキャンセルしてます」というメッセージが流れたまま キャンセル後、10時間経過しても終了してくれません。 この状態で新たにクエリを作ってプログラムを実行してもものすごく処理が重いです。 キャンセルによってデータを元に戻そうとしているのかどうか分りませんが 元に戻さなくていいので強制的に終了する方法はないでしょうか?

    • kikei
    • 回答数2
  • Visual StudioとSQLServer

    大量のデータ(数十万行のテーブルが10個ほど)を扱うことになり、SQLServerの使用を考えています。 PCのOSはWindows7です。 将来的には解析などのプログラムを作成するためにVisual Studio2010も必要になりそうです。 ・質問その1 Visual StudioとSQLServerは別に買うもの? Visual Studioを買うとSQLServerも入っているそうなのですが、 それはたしかSQLServerExpressという無償版ですよね。 ということは、それと別に無償版でないSQLServerを買う必要があるということですね。 ・質問その2 インストールが失敗します ちょっと心配なのは、インストールがうまくいくかということです。 実は昨日SQLServerExpressをインストールしてみたのですが、なぜかエラーになります。 PCにVisual Studioが入っているとエラーになることがあるらしいのです(以前のバージョンの無償版が入っていました)。 アンインストールしたのですが、うまくいきません。 さらにVisual Studio2010Expressもインストールしてみたのですが、 SQLServerExpressのみ失敗してしまいました。 ・無償版でなく正規版なら問題なくのインストールできるしょうか。 ・その際、インストールの順序など気を付けるべきことはありますか。 ・これらの環境を整えてくれるサービスを行っている業者はありますか。 早く作業に入りたいのにインストールでつまずいて不安にかられています。

  • 2008Expressのインストールについて

    OKWAVEさんにも類似の質問をしてしまいましたが、急いで解決したいのでマルチポストの件ご容赦願います。 SQLServer2008ExpressをWindows7にダウンロードしようとしています。 DellのOPTPLEX980で32ビットOSです。 質問その1 ダウンロードすべきファイルについて http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=e08766ce-fc9d-448f-9e98-fe84ad61f135&displaylang=ja と http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff があります。 上のURLでは、 SQLEXPRADV_x64_JPN.exeとSQLEXPRADV_x86_JPN.exeの2種類があり、 下のURLにはさらにSQLEXPR32_x86_JPN.exeというのがあります。 SQLEXPRADV_x64_JPN.exeは64ビットOS用であるということなので、 SQLEXPRADV_x86_JPN.exe または SQLEXPR32_x86_JPN.exeのどちらかだと思うのですが、どちらをダウンロードすべきなのでしょう。 質問その2 インストールでエラーになる 実はSQLEXPRADV_x86_JPN.exeとSQLEXPR32_x86_JPN.exeの両方ともダウンロードしてみたいのですが、 インストールしようとするとエラーになります。 SQLEXPRADV_x86_JPN.exeは「バージョンのパラメータはすべて0以上でなければなりません。パラメータ名:buikd」、 SQLEXPR32_x86_JPN.exeは「オブジェクト参照がオブジェクト インスタンスに設定されていません」というエラーになります。 ネットで調べてみたところ、VisualStudioが先に入っているとエラーになると書いてあるところもあるし、 このmsn相談箱では「NET Frameworkの状態によってはうまくいかない」と書いてあります。 http://questionbox.jp.msn.com/qa6836457.html 何がいけないのでしょう。

  • SQLServer評価版のインストールについて

    SQLServer2008ExpressをWindows7にダウンロードしようとしています。 http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=e08766ce-fc9d-448f-9e98-fe84ad61f135&displaylang=ja 上記サイトでダウンロードするらしいのですが、SQLEXPRADV_x64_JPN.exeとSQLEXPRADV_x86_JPN.exeの二つがあり、 どちらをダウンロードすればいいか教えていただけませんか。 私が使用しているPCは、DellのOPTPLEX980でCPUは32ビットのマシンです。

  • UPDATEの更新前の値を取得したい

    SQLServer2008を使用して、 UPDATEの更新前と更新後の差分を出そうとしているのですが、 更新前の値が取れません。 更新後の値はOUTPUT句を使用してINSERTED.XXXでとっています。 更新前の値もOUTPUT句を使用してDELETED.XXXでとれるのかと思い試したら INSERTED.XXXと同じ値(更新後の値)が取れてしまいました。 selectをしずに、更新前の値を取得する方法はありますでしょうか? ご存知の方ご教授お願いいたします。

  • SharePoint 2010 システム要件 DB

    お世話になります。 MOSS 2010 で必要な SQL Server製品バージョンについて、 具体的な情報を拾えず困っております。 最小要件 64ビット版Microsoft SQL Server 2008 R2として 説明がありますので、通常であれば、複数明示されている ものと考えてしまうのですが。具体的に対応する SQL Server製品バージョンは何になりますでしょうか? ・ 64ビット版Microsoft SQL Server 2008 R2 ・ 32ビット版Microsoft SQL Server 2008 。。。 参照済みURL SharePoint Server 2010 システム要件 http://technet.microsoft.com/ja-jp/library/cc262485.aspx#section4 参照済みURL Windows Server 2008 R2 と SharePoint Server 2010: よりよい統合 (ホワイト ペーパー) http://go.microsoft.com/fwlink/?linkid=187264&clcid=0x411 ご教示頂けますと、幸甚です。

  • SQL削除条件について

    初歩的な質問で大変恐縮ですが、ご教授願います。 以下の二つのテーブルがある場合、1回のSQLで削除する方法を教えてください。 <Aテーブル> --------------- ID 削除フラグ A 0 B 1 C 0 D 1 E 0 E 0 E 0 F 1 F 0 F 1 G 1 G 1 G 1 <Bテーブル> ID ----- A B E F G <削除後のAテーブル> --------------- ID 削除フラグ A 0 C 0 D 1 E 0 E 0 E 0 F 1 F 0 F 1 ※Aは削除フラグが0のため削除されない。 ※C,DはIDが一致しないため削除されない。 ※E,Fは削除フラグが全て1でないため削除されない。 IDが一致していて、削除フラグが全て「1」である場合、Aテーブルを削除する。 としたいのですが、半日悩んでもうまくいきません。 どうかお願い致します。

  • 文字列のカラムを数字と比較したい

    sqlserver2005 文字列のカラム(ただし数字のみ)と、画面から文字列としてきた 数字の大小を比較したいと思っています。 たとえば、WHERE ~ 【対象カラム】 > CONVERT(NUMERIC,'1')のように しようと思っていたのですが、この場合、【対象カラム】の中に 空白があるとこけてしまいます。 文字列なので、空がNULLとは限らないため困っています。 そもそもINT型のカラムならば良いのですが、都合により文字列の カラムにするしかなく。 妙案ありましたらアドバイスいただけないでしょうか。

    • ginfix
    • 回答数2
  • MSSQL 2008 R2 x86→x64

    WS 2008 R2 に MSSQL 2008 R2 (x64版) をインストールして運用しています。 開発環境 WIN7 PC(x86)に MSSQL 2008 R2 Developer (x86版)をインストールしたのですが、 このPCから サーバーの MSSQL (x64版) を操作しても問題はないのでしょうか? 実際に試してみれば良いのでしょうが、もし事前に分かったらと思いまして。 どなたかご教授いただけるとありがたいです。

  • ストアドプロシージャの条件分岐に関して

    お世話になります。 以下の環境で開発を行っています。 言語:C#(.NET 2008) DB: SQL Server 2008 C#で作成した画面にて入力された値をパラメータで ストアドプロシージャに渡し、その値がNULLでない場合だけ WHERE句にレコード絞り込み条件を与えるSQL文を 考えているのですが、記述方法がわかりません。 (プロシージャ) --------------------------------------------- DECLARE @param1 = ''  -- 画面から渡されるパラメータ1 @param2 = ''   -- 画面から渡されるパラメータ2 SELECT * FROM TABLE1 A, TABLE2 B    -- (1) IF @param1 IS NOT NULL AND @param2 IS NOT NULL    -- ここから WHERE A.COLUMN1 = @param1 AND A.COLUMN2 = @param2 ELSE IF @param1 IS NOT NULL AND @param2 IS NULL WHERE A.COLUMN1 = @param1 ELSE IF @param1 IS NULL AND @param2 IS NOT NULL WHERE A.COLUMN2 = @param2              -- ここまで (2) AND A.COLUMN1 = B.COLUMN1       -- (3) AND A.COLUMN2 = B.COLUMN2      -- (4)   ------------------------------------------------ 上記の(1)から(4)までをうまく1つにまとめたかたちで記述することができません。 特に上記(2)の効率のよい正しい記述方法がわかりません。 どなたかご教授願えますか? よろしくお願いいたします。