SQL Server

全2972件中141~160件表示
  • アクセスクエリ 締め日毎で絞り込み

    締め日が21~翌20日なのですが、ある実績表を月度毎で集計したい場合みなさんならどういうクエリにしますか? できたらクロス集計で、横軸が○/21~翌/20でならぶようにしたいです。 1~月末なら、月毎に集計させればいいのですが。 よいお知恵をおかしください。 Excelでもいいです。

  • SQL SERVERバックアップ・インポート

    本番環境のSQL SERVERのデータを開発環境のSQL SERVERへ SQL SERVER ManagementStudioのインポート・エクスポートウィザードを使い移動させているのですが、自動化出来ないかと考えております。 【本番環境】 WindowsServer2008R2(32bit) SQL SERVER 2008R2 【開発環境】 WindowsServer2008R2(64Bit) SQL SERVER 2008R2 EX ◎現在の作業手順 1.開発環境上のテーブルを一括削除 2.開発環境側のSQL MAGAGEMENT STUDIOのインポートおよびエクスポートウィザードにて、本番環境のテーブルを一括インポート 問題は、テーブルが50以上あり、内100万行以上のテーブルが複数ありますので、移行中に本番環境の動きが悪くなることです。 そのため、業務終了後にバッチでデータ移行ができればと考えております。 ※なお、本番環境については閲覧権限しかないため、本番環境にストアドを作成するには ベンダーへ依頼する必要があるので、できれば避けたいと考えております。 上記の件について、アドバイスを頂けましたら幸いです。

  • sqlserverのシステム日付取得について

    sqlserver2012のシステム日付(現在の日時)の取得なのですが、 current_timestampかgetdateかで取得しようとしているので すが、両方とも同じ内容となります。 current_timestampとgetdateの違いは何でしょうか。 また、どちらを使うのがよいのでしょうか。 よろしくお願いします。

  • クラッシュからの復旧出来ない

    ローカルに作られたMySQLのデータベースがあります。それは英語辞書をデータベース化したものです。 構造は head,body = 'computer', 'コンピューター' head,body = 'person', '人' ... という、単純なものです。 突然、使えなくなりました。 次の状態です。 mysql> SELECT body FROM dic WHERE head='computer'; ERROR 1194 (HY000): Table 'dic' is marked as crashed and should be repaired そこで、ネット情報を参考にして、 mysql> REPAIR TABLE dic; +--------------+--------+----------+-----------------------------------+ | Table | Op | Msg_type | Msg_text | +--------------+--------+----------+-----------------------------------+ | xxx.dic | repair | error | Table 'xxx.dic' is read only | +--------------+--------+----------+-----------------------------------+ 1 row in set, 1 warning (0.00 sec) としましたが、問題は解決されません。 どうすれば良いのでしょうか。

  • SQL Server2008R2 をNASに設定

    ユーザ環境の制限により、ミストが多い環境にFANレスPCを設置して、別の場所にNASを設置することになりました。 NASにSQL Server2008R2のインスタンスを作成したいのですが、FANレスPCでインストール時にNASドライブを認識できず困ってます。 NASをネットワークドライブに割り当てても、コンピュータ名「\\NAS\MSSQLSERVER」で指定しても認識できません。 また、いったんSQL Serverをローカルドライブ(C:\)にインストールして、 SQL Server Management StudioでMDFをデダッチして NASドライブ(ネットワークドライブ)にアタッチしようとすると 「特殊なセキュリティ権限・・・」でエラーとなります。 SQL Serverのサービスのログインは  ・Network Service  ・Local System  ・Windowsログインユーザ(Admini権限) で試しましたが症状は変わりませんでした。 NASはバッファロー製の TS-X2.0TL/R5 を使ってます。 なお、USB外付けHDDにはSQL Serverのインスタンスをインストールできることは確認してます。 対策方法の助言いただけると幸いです。

  • sql express内部結合して重複行を削除する

    お世話になります。  当方、SQL server expressを使用しており、以下の2テーブルをフローIDで内部結合しています。 test1         test2 順番、フローID   通番、フローID、タイトル 更新日時 1    1       1    1    てすと   12/1 2    2        2    1     テスト2  12/2 3     3       3    2    テスト3   12/3              4    3    テスト4   12/4 SELECT * FROM test1 INNER JOIN test2 ON (test1.フローID=test2.フローID) 結果 順番 フローID   通番 フローID タイトル 更新日時 1    1       1   1   てすと   12/1 1    1        2   1    テスト2  12/2 2     2       3   2   テスト3   12/3 3    3        4   3   テスト4   12/4  ここで、順番=1の行で指定されているフローIDがテーブルtest2に二行存在するため、結合した結果も順番=1に対して二行になっています。  これを、test2のフローIDが重複する場合はtest2の更新日時が新しいほうだけを表示するようにしたいと考えています。  ご教授頂けますと幸いです。  感覚としては、test2テーブルをgroup by句でまとめたものをテーブルとして定義して、内部結合できればよさそうなのですが、上手い資料が見つかりませんでした。  クエリでも、ストアドプロシージャとしての実行でも構いません。

  • SQLSERVERの圧縮について教えてください

    すみません初心者です。 SQLSERVERの圧縮について教えてください 完全、単純とありますが、単純での環境で、DBをバックアップして復元したときに 何か問題はおきますか? また、データが重くなり、パフォーマンスを上げたいとき、圧縮という考えは有効 でしょうか? よろしくお願いいたします。

  • 条件分岐 case文での文字列の連結方法

    SELECT CASE WHEN 項目1 = 1 THEN '月' END+ CASE WHEN 項目1 = 2 THEN '火' END+ CASE WHEN 項目1 = 3 THEN '水' END AS 曜日 FROM テーブル1 として、文字列を「月火水」と続けたいのですが、NULLが表示され上手く行きません。 解決方法をご教示お願い致します。

  • データベースを更新できない(Linqtosql)

    今日は。 データベースは(One to many)データベースです。 私書いたコードは myDataContext obj = new myDataContext(); Language Lang = (from p in myDataContext .Language s where p.Id == 2 select p).Single(); if (Lang != null) { Lang .Language = "India"; db.SubmitChanges(); } 困っているから、宜しくお願い致します。

  • 2つのテーブル間でのあいまい検索について

    はじめまして、SQLを勉強はじめたばかりのものです。 現在2つのテーブル間であいまい検索を行いたいのです。 テーブル1 id 配列 1 ABCDEFG 2 HIJKLMN 3 OPQRSTU 4 VWXYZ12 テーブル2 id 配列 1 CDE 2 BCDEF 3 OPQR 4 HIJKLM 5 DEFG 6 VWXY 上記のような2つのテーブルで、実際は数万行あります。 LIKE演算子でテーブル2の配列情報を順次テーブル1に あてはめる方法がわかりません。 結果としては id  配列    id 配列 1 ABCDEFG   1 CDE 1 ABCDEFG   1 BCDEF . . . のようなテーブルが作成されることを期待しています。 SQLクエリだけでは作成は無理でしょうか? 上級者の皆様ご助言お願いします。

  • LocalDBの常時起動

    SQL Server 2012 Express LocalDBを常時起動しておくにはどのようにすればよいでしょうか。 タスクマネージャで見ていると、起動してしばらくすると、sqlserver.exeが終了してしまいます。 SQL Server 2012 ExpressであればSQL Server Management Studioで設定できると思いますが、LocalDBではどうすればよいのでしょうか。

  • 複数テーブルの条件毎での同一項目のSELECT方法

    以下のテーブルはAコードでキーになっています。 テーブルA、Bのコード・名称・住所項目は型レングスともに同一形式になります。 テーブルA Aコード 名称     住所  1   あいうえお  東京都足立区  2   かきくけこ  東京都目黒区 テーブルB Bコード  名称     住所        Aコード 100   さしすせそ  東京都荒川区    1 200   たちつてと  東京都板橋区    2 300   なにぬねの  東京都板橋区    2 400   はひふへほ  東京都江戸川区 500   まみむめも  東京都大田区 テーブルBのAコードが入力されていて、テーブルAに存在したらテーブルAから情報を取得し、 なければ、テーブルBを取得するということがしたいです。 上記例としては、SELECTの結果として以下のようにしたいです。   1 あいうえお  東京都足立区   2 かきくけこ  東京都目黒区  400 はひふへほ  東京都江戸川区  500 まみむめも  東京都大田区 何卒ご教示お願いします。

  • Visual Studio2012 SQL2014

    お世話になります。 Visual Strudio 2012 で VB.Netで開発をしております。(以降VS) 最近、SQL Server 2014 をサーバーにインストールいたしまして、VSの SQL Server オブジェクトエスクプローラーにて SQL Server 2014接続させ(接続までは出来ました)、そこから展開させようとしてもオブジェクトのツリーが表示されず、最新の情報に更新を実行すると、『オブジェクトの現在の状態に問題があるため、操作は有効ではありません。』と表示されてしまいます。VSをコンパイルしてSQL Server 2014とのデータ連携はきちんとされており、正常に動作いたします。ですが、開発の際にテーブルの項目の追加、ストアドプロシジャーなどの作成など、いちいちサーバー側で作成しなくてはならないのが面倒で仕方ありません。ちなみに、サーバーには SQL Server 2005 ,2008もインストールされており、両方とも SQL Server オブジェクトエクスプローラーで表示、展開ができ、テーブルの作成から項目の追加、ストアドプロシジャーなどもきちんと作成が可能です。VS2012 と SQL Server 2014の相性が悪いのでしょうか?SQL Server オブジェクトエクスプローラーで、2005、2008同様にテーブル、ストアドプロシジャーの作成をしたり、項目の追加をしたいのですが、どうすればよいでしょうか?皆目見当がつかないで難儀しております。もしかして、VS 2012 と SQL Server 2014は 2014の方が新しいから VS2012では編集不可などということがあるのでしょうか?(AccessではAccessのヴァージョンより新しいSQL Serverの編集ができません) お分かりになる方がいらっしゃいましたら、どうかお知恵をお借りできれば幸いでございます。何卒よろしくお願い申し上げます。

  • SQLクエリでデータベースが壊れる?

    AccessアプリでSQL Serverデータベースを更新しています。 データベースをODBCデータソースとして登録して、AccessdeそのODBCデータソースへのリンクテーブルを作っています。 データベースが何回か壊れたのですが、AccessVBAから発行したリンクテーブルへのSQLクエリでデータベースが壊れるようなことはあるんでしょうか? あるとしたら、そのクエリを発行すると必ず壊れると思うんですが・・・。 同じAccessアプリを使っても、データベースが壊れない環境もありますし・・・。 データベースが壊れた原因がわからなくて困っています。 Windows 7、SQL Server 2008 R2 Express です。

  • SQL文の書き方

    商品  商品番号  単価   あああ  10     200 いいい  10     201 ううう    20     202 えええ  20     203 おおお  40     204 上のような1つのテーブルから単価の一番高いものの、商品と商品番号だけを表示させたい場合はどのようなsql文にすればいいのでしょうか? よろしくお願いします。

  • sql文の書き方について

    <A> 商品  商品番号  単価   あああ  10     200 いいい  10     201 ううう   20     202 えええ  20     203 おおお  40     204 <B> 商品番号  会社名   数  10       AA       3 20       BB     2 30        CC    1 40         DD    3       この2つの表を結合して 商品  商品番号  会社名  単価   あああ  10       AA   200 いいい  10       AA   201 ううう   20       BB   202 えええ  20       BB   203 おおお  40       DD   204 このようにしたいのと <C> 商品  商品番号  単価  グループ aaa      1      0         0 iii     2        0          0 uuu      3      0        0 あああ   10      201     aaa いい   20      202     aaa ううう   20       203     iii おおお  40      204    uuu この表を 商品  商品番号  単価  グループ  あああ あああ  10       201   aaa       1 いい   20       202   aaa        1 ううう   20       203   iii        2 おおお  40       204   uuu       3 このようにしたいのですが、どういったsql文を書けばいいのか分かりません 表がとても見にくいと思いますが、よろしくお願いします。

  • 積み上げ棒グラフのためのSQL SELECT文

    Visual Studio Express 2013 for Webでデータベースアプリを作成しています。 例えば、 Person表 Id S_Id C_Id Z 1 1 2 12 2 2 2 2 3 2 3 NULL 4 4 4 NULL 5 4 4 44 6 5 5 5 7 1 1 1 8 1 6 7 9 7 7 7 10 6 6 6 11 1 5 NULL 12 4 5 5 13 4 5 5 14 6 7 8 のようなデータがあり、横軸S_Id、縦軸C_Idの数、の積み上げ棒グラフ(StackedColumn) (S_Id毎にC_Idの数の内訳を示したグラフ。カウント対象はZがNULLでないものだけ) を作成するには、どのようなSQL SELECT文を書けばよいでしょうか。 目的とする要素数は、 SELECT S_Id, C_Id, COUNT(Z) FROM Person GROUP BY S_Id, C_Id; で出るのですが、 積み上げ棒グラフのためには、 SELECT S_Id, C_Id=1の数(ZがNULLでない), C_Id=2の数(ZがNULLでない), C_Id=3の数(ZがNULLでない), ... FROM Person GROUP BY S_Id; のような形にする必要があるようで、うまく書けません。 COUNTで、ZがNULLでなくかつC_Id=1のものをカウントする、というようなことができればよいのですが。

  • MYSQLで表の結合と検索

    分かりやすくするために、テーブル名などは日本語で書きます。 曲名テーブルのアーティストはアーティストテーブルの番号から参照していて、 さらに、アーティストテーブルのアーティストは名前テーブルの番号から参照しています。 この場合に、曲名テーブルのアーティストを検索(例えば:「大塚愛」と検索)したいのですが、 検索してみても、なかなかピンとくる答えがありませんでした。 JOINで結合いいかと思いますが、テーブルから参照、さらにそのテーブルは、また別のテーブルから参照。 この様な場合はどうクエリーを書いたらいいか全くわかりません。 詳しい方宜しくお願いします。 現在、検証出来る環境がありません。 where 曲名 like '%大塚愛%'" 曲名テーブル +---------------+---------------+---------------+ |................[番号]............|................[曲名]............|.......[アーティスト].....| +---------------+---------------+---------------+ アーティストテーブル +---------------+---------------+ |................[番号]............|.......[アーティスト].....| +---------------+---------------+ 名前テーブル +---------------+---------------+---------------+ |................[番号]............|...............[名前]............|................[読み]............| +---------------+---------------+---------------+

  • IDENTITY列の複数テーブルへのINSERT

    テーブルAへINSERTをした場合のIDENTITY列の値を 同じトランザクション内で テーブルBの別のフィールドへINSERTしたいのですが、 どのようにSQLを書けばよいのか、困っています。 どうか、ご教示お願い致します。 INSERT INTOTABLE_A (NAME_A) VALUES ('あいうえお') ↓ INSERT INTOTABLE_A (A_ID,NAME_B) VALUES (取得したA_ID, 'さしす') INSERT INTOTABLE_A (NAME_A) VALUES ('かきくけこ') ↓ INSERT INTOTABLE_A (A_ID,NAME_B) VALUES (取得したA_ID, 'たちつ') INSERT INTOTABLE_A (NAME_A) VALUES ('さしすせそ') ↓ INSERT INTOTABLE_A (A_ID,NAME_B) VALUES (取得したA_ID, 'なにぬ') TABLE_A ID NAME_A 5  'あいうえお' 6  'かきくけこ' 7  'さしすせそ' TABLE_B ID A_ID NAME_B 1  5  'さしす' 2  6  'たちつ' 3  7  'なにぬ'

  • SQL ServerとVisual Studio

    データベースの勉強のため、入門書を購入して、はじめたのですが、 最初からいきなりつまづきました(>_<)。 開発環境 windows 8 SQL Server 2012 Express Visual Studio 2010 SP1 です。 これで、データベースファイルを作成して、サーバーエクスプローラーで、”新しいテーブルの追加”を クリックしたところ、 ”このバージョンはサポートされていません。サポータされているサーバーはSQL Server 2008までです。” とのエラーメッセージが出ました。 そこで、質問ですが、この環境で、設定変更で使えないものでしょうか? それとも、SQL Server 2008にするか、またはVS2012にするしかないのでしょうか? 詳しい方が、おられれば教えて頂きたいです。よろしくお願いします。