タグ付けされた質問 「sql-server」

Microsoft SQL Serverは、リレーショナルデータベース管理システム(RDBMS)です。このタグは、Compact、Express、Azure、Fast-track、APS(以前のPDW)、Azure SQL DWを含むすべてのSQL Serverエディションに使用します。他のタイプのDBMS(MySQL、PostgreSQL、Oracleなど)には、このタグを使用しないでください。データベースに直接関連している場合を除き、このタグをソフトウェアやモバイル開発の問題に使用しないでください。



9
SQL Serverデータベースのサイズを選択します
SQLサーバーにクエリを実行してデータベースのサイズのみを取得するにはどうすればよいですか? 私はこれを使いました: use "MY_DB" exec sp_spaceused 私はこれを得た : database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB それは私が必要としないいくつかの列を私に返します、おそらくこのストアドプロシージャからdatabase_size列を選択するトリックがありますか? 私もこのコードを試しました: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' それは私にこの結果を与えます: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613 MY_DB MY_DB_log …

2
DELETEステートメントでエイリアスを使用できないのはなぜですか?
Visual Studio 2010のSQL Server Compact Edition(多分SQL ServerとSQLは一般的に知りません)では、次のコマンドが機能します。 DELETE FROM foods WHERE (name IN ('chickens', 'rabbits')) しかし、このコマンドは次のエラーを生成します: Error near identifier f. Expecting OUTPUT. DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))


2
シンプルに保ち、クエリで複数のCTEを実行する方法
この単純なT-SQLクエリを使用すると、テーブルから一連の列が出力され、他の関連テーブルの情報も結合されます。 私のデータモデルは単純です。参加者と一緒に予定されているイベントがあります。各イベントに参加する参加者の人数を知る必要があります。 これに対する私の解決策は、スケジュールされたイベントをグループ化し、参加者の数をカウントするCTEを追加することです。 これにより、予定されているイベントごとにその情報に参加できます。クエリをシンプルに保つ。 クエリを単純にしたいのですが、将来、単純なクエリ中に一時的な結果にアクセスできるようにする必要がある場合はどうすればよいですか? 複数のCTEを持つことができてもできない場合は、本当にそれを望みます。ここに私のオプションは何ですか? ビューを除外し、アプリケーションデータレイヤーで処理を実行しました。SQLクエリを分離することを好みます。


8
1列のみのDISTINCT
次のクエリがあるとします。 SELECT ID, Email, ProductName, ProductModel FROM Products 重複したメールを返さないように変更するにはどうすればよいですか? つまり、複数の行に同じ電子メールが含まれている場合、結果にはそれらの行の1つ(できれば最後の行)のみが含まれるようにします。他の列での重複は許可されるべきです。 のような句は、行全体で機能するようDISTINCTにGROUP BY見えます。だから私はこれにどのように取り組むかわかりません。
155 sql  sql-server 


14
SQL DROP TABLE外部キー制約
このようにデータベース内のすべてのテーブルを削除したい場合、外部キー制約が処理されますか?そうでない場合は、最初にどのように対処しますか? GO IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL DROP TABLE dbo.[Course] GO IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL DROP TABLE dbo.[Student]

8
UNION [ALL]でSELECT INTO句を使用することは可能ですか?
SQL Serverでは、これによりCustomersテーブルからtmpFerdeenに100レコードが挿入されます。 SELECT top(100)* INTO tmpFerdeen FROM Customers UNION ALL SELECT全体でSELECT INTOを実行することは可能ですか? SELECT top(100)* FROM Customers UNION All SELECT top(100)* FROM CustomerEurope UNION All SELECT top(100)* FROM CustomerAsia UNION All SELECT top(100)* FROM CustomerAmericas INTO句を追加する場所がわからない。
154 sql  sql-server 

8
SQL Serverで定数1または0のビットを暗示する
selectステートメントでフィールド値として使用される場合、1または0をビットとして表すことは可能ですか? 例えば この場合、ステートメント(selectステートメントの一部)はICourseBasedの型がintです。 case when FC.CourseId is not null then 1 else 0 end as IsCoursedBased それをビット型にするには、両方の値をキャストする必要があります。 case when FC.CourseId is not null then cast(1 as bit) else cast(0 as bit) end as IsCoursedBased 毎回キャストすることなく、値をビット型として表現する簡単な方法はありますか? (私はMS SQL Server 2005を使用しています)
154 sql  sql-server  tsql  bit 

9
データを別のテーブルにコピーする
SQL Serverで、あるスキーマのデータを同じスキーマの別のテーブルにコピー/追加する方法は? 編集: クエリがあるとしましょう select * into table1 from table2 where 1=1 とtable1同じスキーマとデータで作成されtable2ます。 データ全体を既存のテーブルにのみコピーするこのような短いクエリはありますか?

7
列の値が明確でないすべての行を選択する方法
列の値が明確でないすべての行(EmailAddressなど)を返すselectステートメントを実行する必要があります。 たとえば、テーブルが次のようになっているとします。 CustomerName EmailAddress Aaron aaron@gmail.com Christy aaron@gmail.com Jason jason@gmail.com Eric eric@gmail.com John aaron@gmail.com 返すクエリが必要です: Aaron aaron@gmail.com Christy aaron@gmail.com John aaron@gmail.com 私は多くの投稿を読み、さまざまなクエリを試しましたが、役に立ちませんでした。私がうまくいくと私が信じている質問は以下です。誰かが代替案を提案したり、私のクエリの何が問題になっているのか教えてくれますか? select EmailAddress, CustomerName from Customers group by EmailAddress, CustomerName having COUNT(distinct(EmailAddress)) > 1

17
SQL Serverオペレーティングシステムエラー5:「5(アクセスが拒否されました。)」
私はSQLを学び始めており、作業用のデータベースを提供する本を持っています。以下のファイルはディレクトリにありますが、問題はクエリを実行するとこのエラーが発生することです。 メッセージ5120、レベル16、状態101、行1物理ファイル「C:\ Murach \ SQL Server 2008 \ Databases \ AP.mdf」を開けません。オペレーティングシステムエラー5: "5(Access is denied。)"。 CREATE DATABASE AP ON PRIMARY (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP.mdf') LOG ON (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP_log.ldf') FOR ATTACH GO 本の中で著者はそれはうまくいくはずだと言っていますが、私の場合はうまくいきません。調べたのですが、何が問題なのかよくわからないので、この質問を投稿しました。
153 sql  sql-server 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.