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

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。

9
別のテーブルから抽出されたレコードをテーブルに挿入する方法
テーブルからデータを抽出して変換し、それらのデータを別のテーブルに挿入するクエリを作成しようとしています。はい、これはデータウェアハウジングクエリであり、MS Accessで実行しています。したがって、基本的には次のようなクエリが必要です。 INSERT INTO Table2(LongIntColumn2, CurrencyColumn2) VALUES (SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1); 試しましたが、構文エラーメッセージが表示されます。 これをしたい場合はどうしますか?
177 sql  ms-access 

5
SpringのJDBCTemplateを使ってIN()SQLクエリを効果的に実行する方法は?
SpringのJDBCTemplateでIN()クエリを実行するよりエレガントな方法があるかどうか疑問に思いました。現在私はそのようなことをしています: StringBuilder jobTypeInClauseBuilder = new StringBuilder(); for(int i = 0; i < jobTypes.length; i++) { Type jobType = jobTypes[i]; if(i != 0) { jobTypeInClauseBuilder.append(','); } jobTypeInClauseBuilder.append(jobType.convert()); } IN()クエリの句を作成するためだけに9行ある場合、これは非常に苦痛です。準備されたステートメントのパラメーター置換のようなものが欲しい
177 java  sql  spring  jdbc  jdbctemplate 


13
SQLステートメントを使用してパーセンテージを計算する方法
ユーザーとその成績を含むSQL Serverテーブルがあります。わかりやすくするために、2つの列があるとしましょう- name&grade。したがって、一般的な行は、名前: "John Doe"、グレード: "A"になります。 可能なすべての回答のパーセンテージを見つける1つのSQLステートメントを探しています。(A、B、Cなど...)また、可能なすべての回答を定義せずにこれを行う方法はあります(テキストフィールドを開く-ユーザーは「合格/不合格」、「なし」などを入力できます)。 私が探している最終的な出力は、A:5%、B:15%、C:40%などです。
177 sql  sql-server  tsql 

8
PostgreSQLに行が存在するかどうかを最速でチェック
テーブルに挿入する必要がある行がたくさんありますが、これらの挿入は常にバッチで行われます。したがって、バッチからの単一の行がテーブルに存在するかどうかを確認したいと思います。それは、それらがすべて挿入されたことがわかっているためです。 したがって、これは主キーのチェックではありませんが、あまり重要ではありません。私は単一の行のみをチェックしたいので、count(*)おそらく良くないので、それは次のようなものですexists私が推測です。 しかし、私はPostgreSQLにかなり慣れていないので、知っている人に尋ねたいと思います。 私のバッチには、次の構造の行が含まれています。 userid | rightid | remaining_count したがって、テーブルに提供された行が含まれている場合userid、それらはすべてそこに存在することを意味します。
177 sql  postgresql 

9
外部キー制約により、サイクルまたは複数のカスケードパスが発生する可能性がありますか?
テーブルに制約を追加しようとすると問題が発生します。エラーが発生します: テーブル 'Employee'にFOREIGN KEY制約 'FK74988DB24B3C886'を導入すると、サイクルまたは複数のカスケードパスが発生する可能性があります。ON DELETE NO ACTIONまたはON UPDATE NO ACTIONを指定するか、他のFOREIGN KEY制約を変更します。 私の制約は、Codeテーブルとテーブルの間にありemployeeます。Code表には含まれていId、Name、FriendlyName、TypeとValue。にemployeeはコードを参照するいくつかのフィールドがあるため、コードのタイプごとに参照を作成できます。 参照されているコードが削除された場合、フィールドをnullに設定する必要があります。 どうすればこれを行うことができますか?

4
EXISTSでサブクエリが導入されていない場合、選択リストで指定できる式は1つだけです
私のクエリは次のとおりで、その中にサブクエリが含まれています。 select count(distinct dNum) from myDB.dbo.AQ where A_ID in (SELECT DISTINCT TOP (0.1) PERCENT A_ID, COUNT(DISTINCT dNum) AS ud FROM myDB.dbo.AQ WHERE M > 1 and B = 0 GROUP BY A_ID ORDER BY ud DESC) 私が受け取っているエラーは... Only one expression can be specified in the select list when the subquery …
176 sql  sql-server  tsql  exists 

15
MySQLテーブルが最後に更新された時期を知るにはどうすればよいですか?
ページのフッターに、「最後に更新されたxx / xx / 200x」のようなものを追加します。この日付は、特定のmySQLテーブルが最後に更新された日付です。 それを行う最良の方法は何ですか?最終更新日を取得する機能はありますか?この値が必要になるたびにデータベースにアクセスする必要がありますか?
176 mysql  sql 

14
定数で満たされた複数の行を選択するにはどうすればよいですか?
テーブルを参照せずに定数を選択することは、SQLステートメントでは完全に正当です。 SELECT 1, 2, 3 後者が返す結果セットは、値を含む単一の行です。定数式を使用して一度に複数の行を選択する方法があるかどうか疑問に思っていました。 SELECT ((1, 2, 3), (4, 5, 6), (7, 8, 9)) 上記のように動作し、3行3列の結果セットを返すものが欲しいです。
176 sql  select  constants 

9
「空またはnull値」をチェックする最良の方法
Postgres sqlステートメントで値がnullまたは空の文字列であるかどうかを確認する最良の方法は何ですか? 値は長い式になる可能性があるため、チェックして1回だけ書き込むことが望ましいです。 現在私は使用しています: coalesce( trim(stringexpression),'')='' しかし、それは少し醜く見えます。 stringexpressionであってもよいchar(n)列または含む発現char(n)末尾のスペースの列を。 最善の方法は何ですか?


4
count> 1のレコードを見つけるためのSQLクエリ
というテーブルがありますPAYMENT。このテーブルには、ユーザーID、アカウント番号、郵便番号、日付があります。同じアカウント番号で1日に複数回の支払いがあるすべてのユーザーのすべてのレコードを検索したいと思います。 更新:さらに、郵便番号が異なるレコードのみをカウントするフィルターがあるはずです。 これはテーブルがどのように見えるかです: | user_id | account_no | zip | 日付| | 1 | 123 | 55555 | 12月12日| | 1 | 123 | 66666 | 12月12日| | 1 | 123 | 55555 | 2009年12月13日| | 2 | 456 | 77777 | 2009年12月14日| | 2 | 456 | 77777 | …
176 sql  count  group-by  having 


7
VARCHARフィールドの文字列の出現回数を数えますか?
私はこのようなテーブルを持っています: TITLE | DESCRIPTION ------------------------------------------------ test1 | value blah blah value test2 | value test test3 | test test test test4 | valuevaluevaluevaluevalue 私は、それぞれの説明で文字列が発生した回数を返す方法を理解しようとしています。 したがって、「値」が出現する回数をカウントしたい場合、sqlステートメントは次のように返します。 TITLE | DESCRIPTION | COUNT ------------------------------------------------------------ test1 | value blah blah value | 2 test2 | value test | 1 test3 | test test test …
175 mysql  sql 

13
ROW_NUMBER()を使用するにはどうすればよいですか?
を使用しROW_NUMBER()て取得したい... max(ROW_NUMBER())->または、これはすべての行の数でもあると思います 私はやってみました: SELECT max(ROW_NUMBER() OVER(ORDER BY UserId)) FROM Users しかし、それはうまくいかなかったようです... ROW_NUMBER()つまり、特定の情報を使用することです。名前があり、その名前の由来となった行を知りたい場合。 それは私が#1に試したものに似ていると思います SELECT ROW_NUMBER() OVER(ORDER BY UserId) From Users WHERE UserName='Joe' しかし、これもうまくいきませんでした... 何か案は?

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