回答数
気になる
-
SQLServerでの複数テーブルからのデータ抽出
皆様、お知恵を拝借させてください。 現在、SQLServer + VB.netで開発を行っていますが、どうしてもうまくいかないので悩んでいます。 ロジックを組めば解決できるのは、わかっているのですが、SQL文だけで解決したいのです。 よろしくお願いします。 やりたいことは、複数テーブルからの同一IDの抽出です。 IDで単一化 テーブル【現在】を優先して抽出 テーブル【履歴】のみ存在する場合、履歴NOの大きい方を抽出 テーブル【現在】 ID 名前 趣味 ------------------ 10 太郎 釣り 20 次郎 ゴルフ テーブル【履歴】 ID 名前 趣味 履歴NO ------------------------- 10 太郎 将棋 01 10 太郎 囲碁 02 30 花子 園芸 01 30 花子 料理 02 求めたい結果は 10 太郎 釣り 20 次郎 ゴルフ 30 花子 料理 です。よろしくお願いします。
質問日時: 2013/02/28 10:31 質問者: gorugo111
ベストアンサー
1
0
-
【SQL】指定期間の合計、MAX値取得
レンタルビデオ店や図書館で指定日範囲内の、貸出本数の合計の最大値を取得したいです。 ※○月は○日が貸出ている本数が一番多かった… テーブル上では8桁の日付と貸出本数を持っています。 例えば、下記データがテーブルに登録されている場合に、 where文で'20130101'~'20130131'と期間を指定すると'13'が抽出されます。 1月4日が13本貸出中で、指定期間内で一番貸出本数が多いからです。 貸出日/返却日/本数 ------------------------------------------ 20130101/20130104/4 20130102/20130105/6 20130104/20130108/3 20130106/20130109/8 20130110/20130114/5 ------------------------------------------ 調べてみたのですが、指定日の最大値取得は見つかりましたが、指定期間での抽出方法がわかりませんでした。 使用環境はSQLServerです。 ご協力、お願致します。
質問日時: 2013/02/18 02:10 質問者: jiginsan
解決済
3
0
-
ODBCタイムアウトエラー
WindowsXP環境でACCESS2003を使用して、ODBCリンクでSQL SERVER2005に接続し、データーを取得後ローカルテーブルにデーターを置く処理を作って運用していたのですが、 Windows7でACCESS2003に移行し、システム内容は変更していないのですが Windows7になってリンクテーブルを開くと「ODBC タイムアウトエラー」が発生します。 WindowsXPのときはタイムアウトが出ずに1分くらいで結果が返ってきます。 多分、SQL SERVER ドライバーの影響と思うのですが分かりません。 どなたか教えてください。 Windows7 SQLSERVER(ODBC)ドライバー バージョン:6.01.7601.17514 windowsXP ドライバー バージョン:200.85.1132.00
質問日時: 2013/02/12 10:29 質問者: hand1130
解決済
1
0
-
【SQL】グループ化した際の最頻値の表示
はじめまして。 現在、私は仕事で統計を表示するためのレポートを作成中ですが、 データ取得SQLのよいアイデアが浮かびません。 わかる方がいらっしゃいましたら、お知恵を貸してください。 booking_id 販売支店 出身国 値段 車種 ---------------------------------------------- 01 東日本 ブラジル 100,000 A 02 東日本 ブラジル 200,000 A 03 東日本 ブラジル 300,000 B 04 東日本 ブラジル 400,000 C 05 東日本 日本 500,000 A 06 東日本 日本 600,000 B 07 西日本 ロシア 700,000 B 08 西日本 ロシア 800,000 B 09 西日本 ロシア 900,000 B 10 西日本 韓国 100,000 A 11 西日本 韓国 200,000 B 12 西日本 韓国 300,000 C 13 西日本 韓国 400,000 C 上記のようなテーブルがある場合、販売支店と出身国でグループ化して、 それぞれの値段の合計値を出します。 その際、車種はもっとも頻出した値を表示したいのですが、 どのようにしたら実現できますでしょうか。 (最頻値が2つ以上の場合は、その中のどれかを表示する。) 期待結果は以下のようになります。 販売支店 出身国 値段 車種 --------------------------------------- 東日本 ブラジル 1000,000 A 東日本 日本 1100,000 A 西日本 ロシア 2400,000 B 西日本 韓国 1000,000 C SQL Server は、2008R2を使用しております。 以上、よろしくお願いいたします。
質問日時: 2013/02/12 05:03 質問者: losmy
ベストアンサー
1
0
-
iis7でのデータベース削除方法(xoops)
iis7でxoopsを再インストールしたいと考えています。 インストール中に【XOOPS2 テーブルがデータベースに既に存在します】と出てきたので下記の方法で 削除しました。 でも、また同じようにデータベースが存在するメッセージが出てきます。 windows server2008 R2はどこからテーブルを削除すればいいでしょうか。 おわかりの方がいらっしゃいましたら宜しくお願いします。 1.IIS マネージャを開き、管理するレベルに移動します。 IIS マネージャを開く方法については、「IIS マネージャーを開く (IIS 7)」を参照してください。 UI の特定の場所への移動については、「IIS マネージャーでのナビゲーション (IIS 7)」を参照してください。 2.[機能ビュー] で、[接続文字列] をダブルクリックします。 3.[接続文字列] ページで、 削除する接続文字列を選択します。 4.[操作] ウィンドウで、[削除] をクリックし、[はい] をクリックします。
質問日時: 2013/02/05 20:01 質問者: wingupjp
解決済
1
0
-
countとdistinctを使ったSQL文ついて
countとdistinctを使ったSQL文について VB2005+SQLSERVER2005で開発を行っています。 distinctとcountを組み合わせて抽出するようなSQL文になるのかなと思うのですが うまくいきません カラム maker:メーカ名が登録されている テーブル shohin カラムmakerの実際のデータ例 富士通 NEC 東芝 パナソニック NEC NEC パナソニック 抽出した結果の例 富士通 1 NEC 3 東芝 1 パナソニック 2 メーカー名とその件数が出力結果となります 以上ですがわかる方いらっしゃいましたらご回答お願いいたします。
質問日時: 2013/02/05 16:34 質問者: tkwavek
解決済
2
0
-
SQLServerのコンピュータ名変更について
教えてください。SQLSever初心者です。SQLサーバがインストールされているサーバのコンピュータ名を変更します。変更によって何か影響することがありますでしょうか?
質問日時: 2013/01/22 21:45 質問者: ymoshimoshi
ベストアンサー
1
0
-
SQL Serverの型変換について
こんにちは。 DB未経験で勉強中です! どなたか教えてください。。 OracleのTO_DATE関数のようなことはSQL Serverでは実現可能でしょうか? 数値型から日付型への変換です。 たとえば20121109を2012/11/09と変換、 もしくは201211を2012/11に変換するなどです。 是非、ご教授願いします。
質問日時: 2013/01/17 22:05 質問者: kento1410
ベストアンサー
1
0
-
datetime型でNULL値を入れたい。
現在SQLserver上で、、CSVを一時テーブルに保管し、ある条件に合致する行のみTBLに追加するというストアドを書いています。そのTBLには「datetime型」の列があります。 この作業で、2点問題が発生しています。 (1)CSVファイルから一時テーブルにデータを入れようとすると、datetime列がNULLの場合、型の不一致でエラーが発生します。 (2)上記において、一時テーブルの型をとりあえずvarcharにしておくと入れれるのですが、TBLに追加しようとする際、「convert(datetime,変数)」としているのですが、上手くキャストしてくれません。(「文字列から日付への変換に失敗しました」のような文がでます) どのようにすれば、NULLでもdatetimeに入れられるのでしょうか?教えてください。
質問日時: 2013/01/10 11:23 質問者: kuu1207
ベストアンサー
1
0
-
LINQでn:nテーブルを階層オブジェクトに
お世話になっております。 表題のテーマについて、理解いただける方にアドバイスお願いします。 会員を表すMembersというテーブル、 種別を表すTypesというテーブル、 会員と種別を結び付けるMemberTypeBindsというテーブルがあって、会員・種別がn対nで定義されています。 Membersの件数は200件ほど、Typeは20件程度。だいたいMembersは1~5くらいのTypeに紐づいています。 Table Members int ID(主キー, autoIncrement) varchar(20) MemberName Table Types int ID(主キー, autoIncrement) varchar(20) TypeName Table MemberTypeBinds int memberID(外部キー, MembersのID) int typeID(外部キー, TypesのID) これを、LINQで下記のクラスオブジェクトに抽出したいと思っています。 今は全件表示でもいいですが、そのうちページングで表示する必要がでてくると思います。 public class MemberTypes { public Member member{ get; set; } public List<Type> types { get; set; } } どうやるかがわかりません。LINQはこんな感じだと思うのですが、 public List<MemberTypes> GetMemberTypes(){ using (var dc = new DataContext()){ var result = dc.MemTypeBinds .GroupBy(mt=>mt.Member) // このあと、どうやったらいいかがわかりません。 // DBから階層化オブジェクトを生成するのは // けっこう頻出のテーマだと思うので、しっかりマスターしたいです。 }).ToList(); return result; } } LINQに詳しい方、お助けください。
質問日時: 2012/12/29 23:22 質問者: nayutax
ベストアンサー
1
0
-
SqlServer2012 ビューとクエリ
SqlServerにおける、ビューとクエリについて、その違いというか、概念を教えてください。 私は、最初にAccessと「標準SQL」という本で、データベースを学びました。 本を読んでAccessに向かったときに、クエリってビューのことなのかな?と思って、ずっとやってきました。 ところが、SqlServerには、両方の言葉が出てきます。で、とりあえず、クエリをデザイナで作ってみて、クエリにクエリを内包するようなものを作る段になって、クエリが追加できなことに気づきました。Accessでクエリのタブがあるところに、ビューというタブがあるので、クエリの代わりに、ビューを作りました。まったく同じ手順で作れましたが、保存するときに、「OrderBy句は、ビュー定義のTOP句によって返される行を決定するためだけに使用されます。したがってクエリ自体でもOrderByが指定されていないと、ビューでクエリを実行したときに結果が並べ替えられ宇保証はありません。」 などと、表示されます。 ビューでクエリを実行するとは、どういう事なのでしょうか?クエリを実行するのと、ビューを実行(?)するのは、何か違うのでしょうか?
質問日時: 2012/12/28 16:36 質問者: KAZUMI2003
ベストアンサー
3
0
-
DB、キャストとインサートを同時に行うには?
SQLserverにデータを入れる際、現在存在しているテーブルとは型があっていない列があります。 このとき、キャストをしながらインサートを同時に行いたいのですが、どのようなクエリを書けばいいかわかりません。教えてください。
質問日時: 2012/12/27 12:15 質問者: kuu1207
ベストアンサー
1
0
-
SQL Serverの認証方法について
SQL Serverについて学習中です。 認証方法の違いについてご教示ください。 SQL Serverには「Windows認証」と「SQL Server認証」の二つの認証方法があるところまでは理解したのですが、ネット検索や手元の資料をみても具体的なものが見えてきません。 (1)「Windows認証」でSQL Serverに接続するには: クライアントPCのWindowsアカウント名/パスワードが、SQL ServerがインストールされているPCに登録されているWindowsのユーザー名/パスワードと一致している必要がある。(一致していても、SQL Serverの設定で接続を拒否されていると接続できない) (2)「SQL Server認証」でSQL Serverに接続するには: SQL Serverの「ログイン」(←Windowsのアカウントではない)に登録されているユーザー名/パスワードと一致すれば、クライアントPCのWindowsアカウントのユーザー名/パスワードが何であっても、データベースに接続できる。 認証方法の違いについては、上記このような理解でよいのでしょうか?? しかし実際には「SQL Server認証」を選択すると、SQL Serverのユーザー名/パスワードだけでなく、Windowsアカウント名/パスワードも一致していないと接続できないように思えます。 つまり 「Windows認証」は「Windows認証だけ」で 「SQL Server認証」は「Windows認証 + SQL Server認証」(両方一致しないといけない) なのではないかという気がしています。 VBやVC#等でローカルアプリを作って複数で使用したいのですが、クライアントPCのアカウント名まで管理するのは厄介です。XPパソコンをAdministratorで使用している人がたくさんいて、Windows認証をクリアできないからです。 クライアントPCのアカウント名やパスワードに関係なく、SQL Serverに登録されたユーザー名/パスワードだけで接続するには、どうしたらよいのでしょうか? よくわかっていないので、よくわからない質問になってしまっていると思いますが、よろしくお願いします。 質問の意味がわからないところは補足しますので、ご指摘ください。
質問日時: 2012/12/26 15:30 質問者: pouta
解決済
2
0
-
SQL Server のテーブルについて
SQL Server 2008R2のテーブル(データベース)をWindows 2000に置いて、WinXPやWin7でアクセスしたいのですができますか? ご教授願います。
質問日時: 2012/12/23 13:01 質問者: 1z2y
解決済
2
0
-
アップサイズできない
access2007・Microsoft SQL Server 2012です。 アクセスからアップサイズしようとすると、 「アップサイジング ウィザードは Accessプロジェクトの接続先であるMicrosoft SQL Server のバージョンでは使用できません。 最新情報とダウンロードについては、Microsoft office UpdateのWebサイトを参照してください。」 http://support.microsoft.com/kb/967913/ja を見たのですが、この場合は、SQL Server 2008でした。 当方は2012です。 なんでできないのでしょうか?
質問日時: 2012/12/22 11:10 質問者: sbsmadaec
ベストアンサー
1
0
-
トリガーが思うように動かない
初心者です。 SQL SERVER 2012です。 「売上明細」テーブルに、新規行を挿入した時に、「得意先単価マスタ」を更新・または追加したい CREATE TRIGGER [dbo].[INSTEAD_OF_INSERT_ON_T_D売上明細] ON [dbo].[T_D売上明細] INSTEAD OF INSERT <<省略>> /* 得意先別単価マスタの更新 */ IF (@column_new_value$19 <> 0) BEGIN /* 得意先別単価マスタを参照する */ SET @CURSOR_PARAM_CRSTS_CRSTS_得意先コード = @column_new_value$9 SET @CURSOR_PARAM_CRSTS_CRSTS_納品先コード = @column_new_value$10 SET @CURSOR_PARAM_CRSTS_CRSTS_商品コード = @column_new_value$16 DECLARE crsTS CURSOR LOCAL SCROLL_LOCKS FOR SELECT dbo.T_M得意先別単価.作成日付, dbo.T_M得意先別単価.更新日付, dbo.T_M得意先別単価.得意先コード, dbo.T_M得意先別単価.納品先コード, dbo.T_M得意先別単価.商品コード, dbo.T_M得意先別単価.単価区分, dbo.T_M得意先別単価.売上単価1, dbo.T_M得意先別単価.売上単価2, FROM dbo.T_M得意先別単価 WHERE ((dbo.T_M得意先別単価.得意先コード = @CURSOR_PARAM_CRSTS_CRSTS_得意先コード) AND (dbo.T_M得意先別単価.納品先コード = @CURSOR_PARAM_CRSTS_CRSTS_納品先コード) AND (dbo.T_M得意先別単価.商品コード = @CURSOR_PARAM_CRSTS_CRSTS_商品コード)) OPEN crsTS FETCH NEXT FROM crsTS INTO @recTS$作成日付, @recTS$更新日付, @recTS$得意先コード, @recTS$納品先コード, @recTS$商品コード, @recTS$単価区分, @recTS$売上単価1, @recTS$売上単価2 /* 該当が有った場合は更新する */ IF (@@FETCH_STATUS = 0) IF (@column_new_value$19 = 1) UPDATE dbo.T_M得意先別単価 SET dbo.T_M得意先別単価.単価区分 = @column_new_value$19, dbo.T_M得意先別単価.売上単価1 = @column_new_value$22 WHERE CURRENT OF crsTS ELSE IF (@column_new_value$19 = 2) UPDATE dbo.T_M得意先別単価 SET dbo.T_M得意先別単価.単価区分 = @column_new_value$19, dbo.T_M得意先別単価.売上単価2 = @column_new_value$22 WHERE CURRENT OF crsTS ELSE IF (@column_new_value$19 = 1) INSERT INTO dbo.T_M得意先別単価 ( dbo.T_M得意先別単価.得意先コード, dbo.T_M得意先別単価.納品先コード, dbo.T_M得意先別単価.商品コード, dbo.T_M得意先別単価.単価区分, dbo.T_M得意先別単価.売上単価1 ) VALUES ( @column_new_value$9, @column_new_value$10, @column_new_value$16, @column_new_value$19, @column_new_value$22 ); ELSE IF (@column_new_value$19 = 2) INSERT INTO dbo.T_M得意先別単価 ( dbo.T_M得意先別単価.得意先コード, dbo.T_M得意先別単価.納品先コード, dbo.T_M得意先別単価.商品コード, dbo.T_M得意先別単価.単価区分, dbo.T_M得意先別単価.売上単価2 ) VALUES ( @column_new_value$9, @column_new_value$10, @column_new_value$16, @column_new_value$19, @column_new_value$22 ); CLOSE crsTS DEALLOCATE crsTS <<省略>> 上記のように作成してあるのですが、 すでに同一得意先・納品先・商品のマスタが存在する場合は、更新されます。 ですが、存在しない場合、新規に追加したいのですが、そこがうまく動きません。 何が原因でしょうか?
質問日時: 2012/12/19 16:30 質問者: rabu_chihaha
ベストアンサー
2
0
-
既定のインスタンスと名前付きインスタンス
Microsoft SQL Server 2012 をインストールしたいのですが、 既定のインスタンスと名前付きインスタンスのどちらを選べばいいのでしょうか? SQLサーバーは初心者です。
質問日時: 2012/12/17 00:17 質問者: TWYRBWQ
ベストアンサー
2
0
-
どれをインストールすればいいのでしょうか?
Microsoft® SQL Server® 2012 Express をインストールしたいのですが http://www.microsoft.com/ja-jp/download/details.aspx?id=29062 のどれをインストールすればいいのでしょうか? 当方win7、64bitです。 JPN\x64\SQLEXPR_x64_JPN.exe JPN\x64\SQLEXPRADV_x64_JPN.exe JPN\x64\SQLEXPRWT_x64_JPN.exe のどれかと思うのですがわかりません。 ちなみにプログラムの一覧をみると、 画像のようにSQL Serverの一部?みたいなのが入っています。
質問日時: 2012/12/12 22:39 質問者: ucbpzszsge
ベストアンサー
1
0
-
クエリビルダで列名を変数にしたいが
VisualStudio2010でwebアプリを作成しています。 クエリビルダでSQL文を作成しSQLサーバにアクセスしています。 このSQL文でわからない点があります。 列1、列2、列3のフィールドを持つテーブルがあるとします。 ドロップダウンリストで選択した項目により、ある時は列1だけ取得し ある時は列2だけ取得し、ある時は列3だけ取得する様なSQL文を作りたいのですが、どうすればよいかわかりません、列名を変数にできればよさそうなんですが、そんなことできますか? ある時は SELECT 列1 FROM table1 ある時は SELECT 列2 FROM table1 ある時は SELECT 列3 FROM table1 としたいので SELECT @列名 FROM table @列名は変数のつもりです。 このようにできればよいと思っていますが・・・ よろしくおねがいします
質問日時: 2012/12/06 18:16 質問者: shitochin
解決済
1
0
-
パラメータによってDistinctを入れたい場合
SSRSを使用しています。 検索SQL-A があるとき。 パラメータによってその結果にDISTINCTを入れたい場合の処置として。 どのようなことを追記すればよろしいでしょうか。 ざっくりとした質問で申し訳ありませんが。 ご教授の程よろしくお願いいたします。
質問日時: 2012/12/06 09:27 質問者: yuha_1234
解決済
1
0
-
Float型の時の計算結果がおかしい
ユーザー側で、Microsoft SQL Server2000を使用しています。 計算結果がおかしいので、仕事場で、SQL2008環境で互換モードでも、以下の現象が出てこまって おります。テストで、確認しました。 23.0 - 22.1 の計算結果を0.9と出したいのですが、 0.899999999999999 と結果が返ってきます。 どこが間違っているのでしょうか? SELECT [Field01] AS 'Field01' ,[Field02] AS 'Field02' ,[Field01]-[Field02] AS 'Field01-02' ,(CAST(23 AS FLOAT) - cast(22.1 AS FLOAT) ) AS 'test1' ,(CAST(23 AS REAL ) - cast(22.1 AS REAL ) ) AS 'test2' FROM [dbo].[Table01]
質問日時: 2012/12/05 01:13 質問者: ghost305jp
ベストアンサー
3
0
-
SQL SELECT文の書き方
お世話になります。 下記ような3個のテーブルから、下記画面表示内容のようにするには、 どのようなSQLを書けばよろしいでしょうか ご教示願います。 所有者テーブル 所有者ID,所有者名 1,田中 2,鈴木 3,前田 土地テーブル 所有者ID,取得日,面積 1,11/22,100 1,11/24,30 1,11/26,150 2,4/2,45 2,12/4,120 家屋テーブル 所有者ID,取得日,延床面積 1,11/25,30 1,11/30,12 画面表示内容 所有者ID,名前,土地取得日,面積,家屋取得日,延床面積 1,田中,11/26,150,11/30,12 1,田中,11/24,30,11/25,30 1,田中,11/22,100,空白,空白 2,鈴木,12/4,120,空白,空白 2,鈴木,4/2,45,空白,空白 3,前田,空白,空白,空白,空白 よろしくお願いします。
質問日時: 2012/12/04 14:50 質問者: RISEMYZK
ベストアンサー
4
0
-
SQLServer2008Express について
今まで SQL Server2000 を使用していました。 OSはWinXp Proです。 今日アンインストールして、SQLServer2008 Express (SP3)をインストールしたのですが、 起動していないようなのです。 というのも SQLServer2000 の場合、OS起動すると右下に SQLServer のアイコンが表示されクリックすると起動しているのがわかったのですが、インストールした後、一度もこのアイコンが表示されません。 起動するには何か設定でも必要なのでしょうか?
質問日時: 2012/12/02 09:45 質問者: yamada009
ベストアンサー
1
0
-
SQLServer2000の移行の難易度
現在SQLServer2000で運用しているサービスがありますが、 SQLServerでは8000バイト制限があるため、 2005か2008に変更しようと予定しています。 しかし2000→2005や 20005→2008 移行で難航したという意見が結構ききます。 コーディングを結構変更しないといけないのであれば 2000で8000バイトずつに区切ってExecuteしようと思いますが、 どれくらい移行は大変なのでしょうか?
質問日時: 2012/12/01 23:09 質問者: ENTRE
ベストアンサー
1
0
-
ユニオンクエリについて
お世話になります。 クエリAとクエリBがあり、ユニオンクエリにて両クエリを結合させたいと思っております。 しかし、クエリBにしかないフィールド(test)がある為、「列数が一致しません」となってしまいます。 このような場合、一般的にはどのようにして対処するのでしょうか。 恐らくクエリAにtestというフィールドを仮想的に?追加するのだと思いますが、やり方がわかりません。 ご教授の程、宜しくお願い致します。
質問日時: 2012/11/26 14:45 質問者: naoto0216
ベストアンサー
1
0
-
T-SQL 動的に優先順ごとにデータを抽出する方法
テーブル"t_table"にカラム"col1","col2"が有り、以下の ようにデータが登録されていると仮定して |col1|col2| --------- |aaaa|00gg| |aaaa|00dd| |aaaa|00ff| の場合は行"|aaaa|00ff|"のみ抽出。 |col1|col2| --------- |aaaa|00gg| |aaaa|00dd| の場合は行"|aaaa|00gg|"のみ抽出。 |col1|col2| --------- |aaaa|00dd| の場合は行"|aaaa|00dd|"のみ抽出。 ここで優先順の基準になるのはカラム"col2"に 登録されているデータであり、その優先順は 1.00ff 2.00gg 3.00dd です。 上記のように優先順による抽出はどのようなSQL を組めば実現できるのでしょうか?
質問日時: 2012/11/15 09:02 質問者: NoMusicNoLife49
解決済
1
0
-
SQLserver算術オーバーフローエラーについて
使用環境は DB SQL Server2008 Express 使用ツールは Microsoft SQL Server Management Studio です SQLserver2000からSQLserver2008DBへ移行しようとしているのですが ストアドプロシージャのところでうまくいきません 具体的には、処理を走らせると下記メッセージが出てきます floatをデータ型numericに変換中に、算術オーバーフローエラーが発生しました プロシージャ"○○"は、許可されていないステータスNULLを返そうとしました。 代わりにステータス0を返します 調べると 小数点以下があるフィールド同士を掛けて、その結果の小数点以下をROUNDで切り 捨てた値を小数点のないフィールドに追加しようとするとエラーになる とありました。 下記 2行あたりが怪しいと思うのですが対処方法がわかりません。 ご教授願えないでしょうか? SET @GetRand = CAST(RAND()*10 AS numeric(1,0)) … SET @GetRand = CAST(RIGHT(CONVERT(varchar,CAST(RAND()*100 AS numeric(2,0))+100),2) As numeric(2,0)) またストアドプロシージャは、VBのようにデバッグで1行単位で処理を確認してい くことはできないのでしょうか?
質問日時: 2012/11/14 20:01 質問者: kantada2012
ベストアンサー
1
0
-
T-SQL 優先順によるデータの抽出
こんにちは。 あるテーブル"T_TABLE"に項目がC1(主キー)、C2が有り、データが以下のように登録されていた場合、 |C1|C2| ------| |BB|XX| ------| |AA|XY| ------| |DD|XZ| ------| とあった場合、 カラムC2に"XY"の値を含む行を第一に優先し、同カラムに"XZ"を含む行を第2に優先し、同カラムに"XX"を含む行を第3に優先して抽出するにはどのようにすればよいのでしょうか? 抽出するイメージは XY XZ XZ の順です。
質問日時: 2012/11/14 14:18 質問者: NoMusicNoLife49
ベストアンサー
1
0
-
SqlServerのユーザー権限
ずっとOracleを使用してきたのですが、このたびSqlServerの使用を検討することになりました。 Oracleでは、パスワードを知らなければDBの中身を参照することはできないですが、 SqlServerでは、Windows認証、SqlServer認証ともに、サーバー管理者であれば、 DBの管理ができるように思います。 開発時はいいのですが、リリース後は、サーバー管理者(客先のシステム部など)にも DBのデータは見せたくありません。 担当部署と開発担当者のみ参照できるよう設定したいのですが(パスワードを知る人間を限定する)、 SqlServerではそのような設定は可能なのでしょうか?
質問日時: 2012/11/02 16:24 質問者: mobuco6
解決済
1
0
-
MSDNselectしながらWHileでまわすには
お詳しい方、どうかたすけてください。 環境はMicrosoftSQLです。 やりたいことは、 あるテーブルからデータを取ってくる際に、最後の購入日を今の日付から1週間さかのぼりしながら、 何週間さかのぼったかを、useridと一緒に結果で返したいのです。 select userid , CASE WHEN MAX(購入日) > getdate()-7 THEN 1 WHEN MAX(購入日) > getdate()-14 THEN 2 as 'week' みたいなことなのですが、 これをWHILEを使って、永遠にさかのぼれるようにしたいのです。 例としては、 DECLARE @ss int; DECLARE @Recency int; set @ss = '7' set @Recency = '0' while (getdate()- @ss > '2012-10-01') begin set @ss = @ss- 7 set @Recency = @Recency + 1 SELECT user_id, case when max(購入日)> getdate()-@ss then @Recency as 'week' end from usrbuyingtable こんなかんじかとおもったのですが、 ぜんぜんうまくいきません・・ 文法チェックをお願いします。
質問日時: 2012/11/01 12:39 質問者: troubleSE
解決済
1
0
-
全ストアドを対象に文字列を置換する方法について
こんばんわ。 SQLServer2008にて1データベース内の全ストアドを対象に、 ストアドプロシージャ記述内で特定の文字列を検索し、置換する方法を考えています。 以下のようなsqlで、ストアド内に文字列があるものを検索することはできたのですが、 ここから先、「★★★」を「○○○」にREPLACEする方法がわかりません。 select routine_name from information_schema.routines where routine_definition LIKE '%★★★%' and routine_type='procedure' 以下のようなsqlで更新しようとしたら、エラーが発生しました。 update information_schema.routines set routine_definition = REPLACE(routine_definition, '★★★', '○○○') where routine_name = 'XXX' (error:システム カタログへのアドホック更新は許可されません。) 不定期にデータベース名を変更することがあり、ストアドの数が多いため、 一括で変換できる方法がないかと探しています。 手作業で変更していく他ないでしょうか。 なにかヒントだけでもご教示いただけると嬉しいです。 よろしくお願いします。
質問日時: 2012/10/30 19:06 質問者: tomolyu
解決済
1
0
-
SQLを使ったデータの作成
コマンドプロントを使用し、SQLでデータベースを作成しています。 大きなテーブルを複数作り、複数のデータの作成をしています。 1.テーブルの方の定義を行い、キー項目を決める。 2.データは、一つ一つの項目ごとに、データの型やサイズを決める。 3.いくつか検索をした際に、ちゃんと結果の違いが確認できるように、100レコード程度のデータを作成する。 の制約で制作しています。 SQLに触って、まだあまり経っていないためどうプログラムを組めばいいのか分かりません。 テーブルの意味などや、キー項目、などの言葉の意味もあまり理解出来てません。 例えば データベース:ONLAINGAME テーブル1:MEMBER テーブル2:WEAPON を制作し、MENBERの中に50件、WEAPONの中に50件データを作ればいいのでしょうか。 データの作り方も少し心配です。 create table MENBERl(age int, name varchar(20) , primary key (aa); 上記の文を打ち、insert into MENBER ( age, name) values(20, 'takasi'); と書けば、制約通りデータが格納できるのでしょうか? 分かりずらいとは思いますが、詳しいお答えお願いいたします。
質問日時: 2012/10/18 13:39 質問者: migi_shita
解決済
1
0
-
SQLネットワークエラー時の再接続
SQLServer2000とAccess2000(adpファイル)でシステムを組んでいます。 データベースとの接続は、アプリケーションの「データリンクプロパティ」内で設定してあり、初期立ち上げフォームに次のコードを記述して接続しています。 Option Compare Database Option Explicit Public cn As ADODB.Connection Sub p_接続開始() ‘データベースとの接続を行うプロシージャ Set cn = Application.CurrentProject.Connection cn.CursorLocation = adUseClient ‘カーソルをユーザークライアントにする End Sub その後、フォームを開いた状態で一定時間経過すると、PCが「システムスタンバイ」状態になり、スタンバイを解除すると次のエラーが出て接続できません。 「[DBNETLIB][ConnectionWrite(send()).]一般的なネットワークエラーです」 しかしいろいろ試した結果、フォームのクリックイベント時に、次のコードを記述したところ、一時的に接続できるようになり、入力フォーム上のデータがSQLServerに保存出来るようになりました。 Set cn = New ADODB.Connection cn.ConnectionString = Application.CurrentProject.Connection cn.Open しかしその後、このフォームを閉じたり、他のフォームに移動したりすると、「[DBNETLIB][ConnectionWrite(send()).]一般的なネットワークエラーです」が出てエラーとなります。 データベースを終了し、再度開き直すと、完全に元通りに復活しますが、上記でフォームを閉じたり、移動したときに、エラーが出ないようにするにはどうしたらいいでしょうか? Set cn = New ADODB.Connection cn.ConnectionString = Application.CurrentProject.Connection cn.Open この記述は、試行錯誤の末、出来たものであり、これが本当に正しいかどうかわかりません。 どなたかわかる方教えてください。
質問日時: 2012/10/16 13:37 質問者: kitagawasan#2
ベストアンサー
1
0
-
IDENTITYを設定
Microsoft SQL Server Management Studioを使っています。 テーブル追加時にIDENTITYの設定方法は 載っていたのですが、すでにあるカラムに対して はありませんでした。 すでにあるカラムにIDENTITYの設定方法を教えて下さい。
質問日時: 2012/10/15 13:43 質問者: suhixinkusu
ベストアンサー
1
0
-
SQL2008から2000へデータコピーしたい
使用環境は DB SQL Server2008 Express 使用ツールは Microsoft SQL Server Management Studio です サーバーは 64bit です インストールファイルは SQLEXPRWT_x64_JPN.exe です 現在、同じネットワーク上には SQLServer 2000のDBを使ったサーバーはあるので すがSQLServer2008は1台だけです 今回 SQL2008のDBを 2000の方にバックアップ用としてコピーしたいと思います ファイルの保存だけであれば可能かと思いますが 万が一の時に 接続先を変更して使えるようにしたいと思います。 認識として、 ・データファイルやログファイルは上位DBから下位DBへアタッチ操作はで きない (上位DBのファイルを下位DBがアタッチ操作できない) ・データベースコピーはできない そこで データコピー をしたいと思っています。 下記 HPを参考にフリーソフト(DBCopyTool.exe)を使ってみたのですが http://www.atmarkit.co.jp/fdotnet/dotnettips/859dbcopytool/dbcopytool.html サーバーの登録はうまくいくのですが、対象DBの登録について SQLServer2008express や SQLServer2005express はうまくいくのですが SQL2000のサーバーでは、下記メッセージが出てきます Fehler:Error getting the database.オブジェクト名'sys.database'は無効です 確認したいのは 上記フリーソフトを使われたことがある方、同じような現象には ならないかどうか 何か設定、確認不足なのでしょうか? また当初の希望内容を実現するため、他の方法があれば ご教授願いたいと思いま す。 同HP内の文末に、SQLServer 2000とSQL Server 2008との間でコピーが正しく行え た とあり決して依存するわけではないのですが、もしやと思い試しているのですがうまくい きません。 仮に 2000のDBを2008にコピーできるとしても、該当DBの選択のところでエラーが 出てしまうのはクリアする必要があると思うのですが… 以上 宜しくお願い致します。
質問日時: 2012/10/12 19:35 質問者: kantada2012
ベストアンサー
1
0
-
SQLserver2005⇒2012へ移行
現在SQLServer2005 の WorkGroup を使用しています。 現在のPCでは処理が遅い為、新たにPCを新調し、更にSQLServer2012 Standardも購入する予定です ここで質問なのですが、 SQL2005で作成したテーブルのファイル「○○.mdf」と「○○.ldf」は SQL2012でも読み込むことは出来るのでしょうか? もっと単純に言うと SQL2005で使ってたHDを抜いてSQL2012をインストールした新PCに繋げて アタッチすればそのままSQL2012で使うことはできるのでしょうか?
質問日時: 2012/10/12 15:49 質問者: kikei
ベストアンサー
2
0
-
'modify' 付近に不適切な構文があります。
Microsoft SQL Server Management Studioを使っています。 下記のクエリを実行するとエラーが出ます。 クエリ alter table Test_table modify name nchar(20) エラー メッセージ 102、レベル 15、状態 1、行 1 'modify' 付近に不適切な構文があります。 今の状況はnchar(10)なのですが、 nchar(20)に変更したいのですが、 どうすればよろしいでしょうか? 参考にしたURL http://www.syboos.jp/database/doc/alter-table-modify.html
質問日時: 2012/10/12 11:18 質問者: suhixinkusu
ベストアンサー
1
0
-
SQLServer2008のインスタンス名について
使用環境は DB SQL Server2008 Express 使用ツールは Microsoft SQL Server Management Studio です サーバーは 64bit です インストールファイルは SQLEXPRWT_x64_JPN.exe です インストール時に 既定のインスタンス名 を選択し Management Studio ツールを使って接続しようとしたのですが サーバー名¥SQLEXPRESS になってしまいます 希望する内容は サーバー名のみ で接続したいのです 正確には 最初、名前付きインスタンス名(SQLEXPRESS)を選択して インストールしてしまい あとでアンインストールし 既定のインスタンス名で再インストールしているのですが 上記内容になります。 アンインストール後 関係フォルダを削除(一時 別フォルダに保管)しました 具体的には C:\Program Files\Microsoft SQL Server のフォルダを 一時別のフォルダにして、再インストールしてみたのですが結果は同じでした。 ちなみに、SQLServer2005Express では 上記フォルダを削除(移動)することで インスタンス名は付かなくて サーバー名だけになりました。 何か不要な設定が残っているように思いますが… 確認したいのは SQL Server2008 Express では インスタンス名を無しにするこ とができるのかどうか 再インストール時、削除するフォルダが足りないのかどうか 以上 宜しくお願い致します。
質問日時: 2012/10/10 20:43 質問者: kantada2012
ベストアンサー
1
0
-
日時範囲でグループ化された最大値
任意の時刻にデータをモニタリングしているシステムがあり、データがMS SQL Serverに保存されています。 int ID int DeviceID 端末番号 int DeviceValue 計測値 smalldatetime DeviceTime 日時 これを、任意の日時範囲を指定し、一日単位で集計された、端末ID、計測値の最大値という形式で取得したく思います。 計測日 端末番号 計測最大値 2012/01/01 10002 34543 2012/01/01 10003 33211 2012/01/02 10002 23450 ... ... DBが得意でないため、困っています。 どなたかお助けいただけないでしょうか?
質問日時: 2012/10/10 20:30 質問者: nayutax
ベストアンサー
1
0
-
SQLServerでViewの参照・・・
SQLServer同士のサーバで、別のサーバーの特定のViewを参照する事ができますか? <例> Aサーバーで、BサーバーのViewを参照 Select * From [B].[aaa].dbo.v_xxxx 上記のようなことがしたいのです。 データの内容上、他のテーブル・ビューは参照させたくありません。 可能な場合、お手数ですがその方法もご教授頂けるととても助かります。 宜しくお願い致します。
質問日時: 2012/10/03 15:27 質問者: qunao
解決済
1
0
-
Compact 3.5とVS2012
SQL Server Compact 3.5 SP2について教えてください。 現在、SQL Server 2008R2で運用されているWebアプリケーションシステムがあります。 ASP.NETで作られており、データアクセスはLINQ for SQLで動作しています。 今回、ちょっとしたサーバ移転があり、データアクセスの頻度がさほど高くない理由から、SQL Server Compact 3.5での稼働を計画しています。 (Compact 4.0だとLINQが動作しないらしいので) で、開発環境(VS2012)にてSQL CE3.5のファイルを作ろうとしたところ、サーバエクスプローラのプロバイダ選択画面で、CE3.5も4も出てきません。 (通常のSQL Serverや、mdf形式のSQL Serverプロバイダは正しく出てきます) そこで質問なのですが、 ・SQL Server CE3.5はVisual Studio 2012に対応しているのでしょうか? ・皆さんのVisual Studio 2012では、SQL Server CEをデータプロバイダとして、サーバエクスプローラを動作させることができますか? よろしくお願いします。
質問日時: 2012/10/02 20:09 質問者: nayutax
ベストアンサー
1
0
-
SQLServer2008 メンテナンスプラン
御世話になります。 SQLServer2008 メンテナンスプランについてご教示頂けたらと 存じます。 バックアップ処理などをメンテナンスプランにて設定して 処理を行っています。 毎年、DBが追加になるのでわざわざメンテナンスプラン画面を起動して 追加しなければなりません。 それをコマンドというか、バッチ処理などで追加できないものでしょうか? 宜しくお願い致します。
質問日時: 2012/10/02 10:06 質問者: takakita
解決済
1
0
-
データの加工SQL
お世話になります。 SQL Serverのデータ加工についてSQLを教えてください。 元のデータをSQLを使って下記のほしいデータのようにして取得したいのです。 (出身地毎の行で各種目別に集計したい) お願いします。 *元のデータ(MotoTable) 出身地,得点,種目,実施年,実施月 東京,80,幅跳び,2012,10 東京,54,反復横跳び,2012,10 長野,66,幅跳び,2012,10 新潟,47,幅跳び,2012,10 新潟,90,幅跳び,2012,10 佐賀,25,幅跳び,2012,10 佐賀,66,反復横跳び,2012,10 東京,100,幅跳び,2012,10 東京,19,反復横跳び,2012,10 愛知,5,懸垂,2012,10 愛知,6,懸垂,2012,10 佐賀,7,懸垂,2012,10 *欲しいデータ 出身地,合計点,幅跳び,反復横跳び,懸垂,実施年,実施月 東京,253,180,73,0,2012,10 長野,66,66,0,0,2012,10 新潟,137,137,0,0,2012,10 佐賀,98,25,66,7,2012,10 愛知,11,0,0,11,2012,10
質問日時: 2012/10/01 20:54 質問者: cosmosStr
解決済
2
0
-
SQLとC#connectについて
独学で勉強しているのですがさっぱり分かりません...。 C# visual studio へ SQL server情報を読み込みたいのですが...Button1を押したら、sql に作成してある(ingredientという) データをrichtextbox へ送りたいです。 今のところ、SQLにcommandを送り、開き、リーダーで呼びました。 SqlConnection sc = new SqlConnection(@"........."); SqlCommand cmd; cmd = new SqlCommand ("Select * from ingredients", sc); sc.Open(); SqlDataReader reader = cmd.ExecuteReader(); その後作っておいたクラスでリストを作りストアしました。ingredientにはidとnameだけです。 List<Ingredient> ingredients = new List<Ingredient>(); while (reader.Read()) { string testID = reader["id"].ToString(); string ingName = reader["name"].ToString(); Ingredient oneIng = new Ingredient(Convert.ToInt32(testID), ingName); ingredients.Add(oneIng);} 今リストの中に情報が入っているということは分ります。でも、これをrichtextboxにどう整理して入れるのかは分りません。教えて下さい!!!
質問日時: 2012/10/01 19:04 質問者: Chibibebe
解決済
1
0
-
最新の日付と2番目の日付のデータ取得方法
SQL Server 2008 にて下記条件を満たしたデータの取得を行いたいです。 ・IDごとに、日付がある日以前で最新のものとその次の日付のデータ2件 ・ただし、その2件で価格が変わらなければ価格変動のあった日付のデータまでさかのぼる ・価格が同じデータの場合、古い日付のデータを取得 例: ・条件…日付が20040101以前 <検索対象データ> ID 日付 価格 ------------------------ 1 20000101 100 1 20010201 100 1 20020301 200 2 20020401 300 2 20000501 400 2 20010601 400 2 20030701 300 3 20000801 500 3 20010901 600 3 20040901 600 <取得したい結果> ID 日付 価格 ------------------------ 1 20020301 200 1 20000101 100 2 20020401 300 2 20000501 400 3 20010901 600 3 20000801 500 なるべく少ないSelect文で取得したいと考えております。 よろしくお願いします。
質問日時: 2012/09/13 21:52 質問者: amazake44
解決済
2
0
-
SQLサーバーのテーブルでサーバー名の規定値
SQL2000サーバーから、SQL2005expressへ SQL Server Management Studio Express を使って移行しています その中で、テーブルレイアウトの初期設定について 日付やPC名は、SQL2000と同じ getdate() や host_name()で 設定できたのですが、サーバー名が @@servername では 「文字列データまたはバイナリデータが切り捨てられます ステートメントは終了されました」 とメッセージが出てきて処理できません。 SQLserver2005expressで、サーバー名の規定値についてアドバイスをお願いします
質問日時: 2012/09/11 21:20 質問者: kantada2012
ベストアンサー
1
0
-
SQL SERFVER で外部キーのエラー????
「INSERT ステートメントは FOREIGN KEY 制約 "○○" と競合しています。競合が発生したのは、データベース "△△"、テーブル "dbo.□□", column '◎◎' です。」 SQLサーバーマネジメントスタジオでインサートのクエリを流したところ、下記のエラーが発生したのですが、解決するにはどういった観点を調査すればよろしいでしょうか? ご存知の方、お願いします。
質問日時: 2012/09/11 09:22 質問者: noname#171869
ベストアンサー
1
0
-
ソートと列番号
データ取得時に列番号を組み込みたい場合 ROW_NUMBER() OVER (ORDER BY ソートキー) で実現できますが、これは実際ソートも行ってくれるのでしょうか? 例えば 1) select dt1,dt2, dt3,ROW_NUMBER() OVER (ORDER BY dt1,dt2,dt3) as dt4 from table_1 2) select dt1,dt2, dt3 from table_1 ORDER BY dt1,dt2,dt3 では同じ順序でデータが取得されるのでしょうか? 簡単にデータを作ってみたところ、同じようなんですが・・・・
質問日時: 2012/09/06 06:34 質問者: yamada009
ベストアンサー
1
0
-
長いSQL文を見やすくするツールなどないですか?
C#で作成するとき、string 変数にどんどんと長いクエリを書いてしまいがちです。 こういったクエリ文字をデバッグなどで、カットするととんでもなく長い1行の文字列になってしまいます。 それをSQLServer のクエリとして貼り付けると、1行なので何がなんだかわからない状態になります。 それで適当な部分でエンターキーで改行してようやくどんなクエリかわかる状態で辟易しています。 何か適当なプログラムで適当な部分で改行(折り返す?)して全体がわかるように表示する(またはテキストを変換)ようなものってないでしょうか?
質問日時: 2012/09/05 23:45 質問者: yamada009
ベストアンサー
3
0
-
項目長変更後の処理について教えてください。
項目名:コード varchar (3) を "ALTER TABLE テーブル名 ALTER COLUMN コード varchar (4);"を実行し 項目名:コード varchar (4)へ変更したいと思っています。 そこで質問なんですが現在コード の内容が"001"のような3桁なのですがそれを"0001"のように4桁に変更したいのです。(頭に"0"を追加する。) (一見づつ読んで更新していく方法はわかりますがもう少しスマートに処理がしたいので) どういったSQL文を発行すれば良いのでしょうか? よろしくお願いします。
質問日時: 2012/09/04 19:10 質問者: cz75_1st
ベストアンサー
1
0
【データベース】に関するカテゴリ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【SQL Server】に関するコラム/記事
-
フキノトウ、ワラビ、タラノメなどの「山菜」を若い人は知らない?食べたことない?
春の訪れと共に、八百屋やスーパーには様々な種類の野菜が並ぶ。春野菜といって思い浮かぶのは、「春キャベツ」や「春タマネギ」という人が多いだろう。一方で、「フキノトウ」「ワラビ」「タラノメ」など、かつて春...
-
摘発相次ぐ「モペット」法律的な問題点を弁護士に聞いてみた
電動モーターを搭載し、走行可能な二輪車である「モペット」に関する交通違反が増加しているため、警視庁は10日、東京の渋谷で取り締まりを行った。警視庁によると、昨年、東京都内で「モペット」と呼ばれる電動モー...
-
メダロット:第238話「Vol.238※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
寒暖差疲労の予防・改善には「入浴」がおすすめ?ポイントと効果を専門家にきいてみた
季節の変わり目になると、体調を崩す人が少なくない。その原因のひとつは「寒暖差疲労」だといわれている。一日の気温差が7℃以上になると、体温調節を担う自律神経が過剰に働くので、冷え症、肩こり、頭痛、全身倦怠...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS2007 フォーム 「バリアント...
-
SQLサーバー接続 特定のPCがWindows...
-
Accessの重複なしのカウントの仕方...
-
SQLサーバで和暦から西暦に変換したい
-
sqlserverで集計結果をUPDATEしたい...
-
SQL Date型の列から年月だけを取得...
-
自己相関サブクエリと自己結合の違...
-
BULK INSERT時のNull許容について
-
<SQL>重複しているデータの場合は最...
-
SQLのエラー(~付近に不適切な構文...
-
SQLについて質問です。 a表がありそ...
-
Access2013で操作ログを残したいで...
-
2進数11011110の回答を正解はBDなの...
-
集計処理について
-
Visuaal Studio Community 2022でデ...
-
Access2021 「ISNULL関数には引数が...
-
生え際から顎先まで17.5 頭頂から顎...
-
sql serveについて
-
SQLを駆使したデータ抽出ってどんな...
-
SQL Oracle serverにって質問です。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<SQL>重複しているデータの場合は最...
-
SQLサーバー接続 特定のPCがWindows...
-
SQL Date型の列から年月だけを取得...
-
SQLのエラー(~付近に不適切な構文...
-
Accessの重複なしのカウントの仕方...
-
sqlserverで集計結果をUPDATEしたい...
-
BULK INSERT時のNull許容について
-
SQLサーバで和暦から西暦に変換したい
-
ACCESS2007 フォーム 「バリアント...
-
Visuaal Studio Community 2022でデ...
-
【VB.NET】日付型の列にNULLを登録...
-
【SQLサーバ】float型における小数...
-
Access2021 「ISNULL関数には引数が...
-
[SQLServer] テーブル名からカラム...
-
sqlで、600行あるテーブルを100行毎...
-
SQL ServerでDBを構築。これは開発?
-
甘いものがすきなのってなおせます...
-
これをSQL文で出来るでしょうか?
-
ACCESSで3ファイルを結合して、表を...
-
自己相関サブクエリと自己結合の違...
おすすめ情報