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

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

4
varchar()列を特定の値に制限しますか?
たとえば、MS SQL Server 2008のvarchar列に4つの異なる値を指定する方法はありますか? たとえば、「Daily」、「Weekly」、「Monthly」、「Yearly」のみを可能な値として受け入れるFrequency(varchar)という列が必要です これは、テーブルの作成時にSQL Server Management Studio内で設定できますか?

20
コマンドが同期していません。このコマンドは今実行できません
mysqliを介して2つのMySQLクエリを呼び出すPHPコードを実行しようとしていますが、「コマンドが同期していません。現在、このコマンドを実行できません」というエラーが表示されます。 これが私が使っているコードです <?php $con = mysqli_connect("localhost", "user", "password", "db"); if (!$con) { echo "Can't connect to MySQL Server. Errorcode: %s\n". Mysqli_connect_error(); exit; } $con->query("SET NAMES 'utf8'"); $brand ="o"; $countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ? %"; if ($numRecords = $con->prepare($countQuery)) { $numRecords->bind_param("s", $brand); $numRecords->execute(); $data = …
94 php  sql  mysql  mysqli 

4
Postgresql集計配列
こんにちは、2つのテーブルがあります。 Student -------- Id Name 1 John 2 David 3 Will Grade --------- Student_id Mark 1 A 2 B 2 B+ 3 C 3 A 次のような結果を得るためにネイティブのPostgresqlを選択させることは可能ですか? Name Array of marks ----------------------- 'John', {'A'} 'David', {'B','B+'} 'Will', {'C','A'} しかし、これは好きではありません Name Mark ---------------- 'John', 'A' 'David', 'B' 'David', 'B+' 'Will', 'C' 'Will', …
94 sql  arrays  postgresql 

24
別個の値を返すOracleのLISTAGG
OverаэтотвопросестьответынаStack Overflowнарусском:КакфункциейLISTAGGвернутьзначениябезповторений? LISTAGGOracleで関数を使用しようとしています。その列の個別の値のみを取得したいと思います。関数やプロシージャを作成せずに個別の値のみを取得できる方法はありますか? col1 col2 Created_by 1 2スミス 1 2ジョン 1 3アジェイ 1 4ラム 1 5ジャック col1とLISTAGGcol2 を選択する必要があります(列3は考慮されません)。そうすると、LISTAGG次のような結果になります。[2,2,3,4,5] ここで重複する「2」を削除する必要があります。col1に対してcol2の個別の値のみが必要です。

6
警告:Null値は、Aqua Data Studioの集計またはその他のSET操作によって削除されます
データがnullのときに問題が発生し、結果が表示されるときに警告が表示されました。この問題を解決するには?テーブルにデータがないときにnullデータを0に変更する方法 これは私のコードです:- SELECT DISTINCT c.username AS assigner_officer, d.description AS ticketcategory, (SELECT Count(closed) FROM ticket WHERE assigned_to = c.user_id AND closed IS NOT NULL GROUP BY assigned_to)closedcases, (SELECT Count(closed) FROM ticket WHERE assigned_to = c.user_id AND closed IS NULL GROUP BY assigned_to)opencases FROM ticket a JOIN ticketlog b ON a.ticketid = …

3
INNER JOIN条件で「OR」を使用することは悪い考えですか?
非常に遅いクエリの速度を改善しようとする際に(問題があった場合、SQL Server 2008では、それぞれ最大50,000行しかない2つのテーブルで数分)、問題を次のようORに内部結合のに絞り込みました。 SELECT mt.ID, mt.ParentID, ot.MasterID FROM dbo.MainTable AS mt INNER JOIN dbo.OtherTable AS ot ON ot.ParentID = mt.ID OR ot.ID = mt.ParentID これを(私が望んでいる)左結合の同等のペアに変更しました。次に例を示します。 SELECT mt.ID, mt.ParentID, CASE WHEN ot1.MasterID IS NOT NULL THEN ot1.MasterID ELSE ot2.MasterID END AS MasterID FROM dbo.MainTable AS mt LEFT JOIN dbo.OtherTable AS ot1 …

9
SQL ORDER BY複数の値を特定の順序で?
さて、インデックス付きのキーとインデックスなしのフィールドを持つテーブルがあります。特定の値を持つすべてのレコードを検索して行を返す必要があります。複数の値で注文できるかどうか知りたいのですが。 例: id x_field -- ----- 123 a 124 a 125 a 126 b 127 f 128 b 129 a 130 x 131 x 132 b 133 p 134 p 135 i 疑似:結果をこのように並べ替えたい where ORDER BY x_field = 'f', 'p', 'i', 'a' SELECT * FROM table WHERE id NOT IN …

5
1つの列のSQLセット値が同じテーブル内の別の列の値と等しい
2つのDATETIME列を持つテーブルがあります。 それらの1つがNULLになることはありませんが、そのうちの1つがNULLになる場合があります。 列BのすべてのNULL行を列Aの値に等しく設定するクエリを作成する必要があります。 この例を試しましたが、MySQL WorkbenchがUPDATEのFROMを好きではないようなので、選択した回答のSQLが実行されません。
94 mysql  sql 

14
EXECUTE後のトランザクション数は、BEGINステートメントとCOMMITステートメントの数が一致しないことを示しています。以前のカウント= 1、現在のカウント= 0
私が持っているInsertにデータを送りますストアドプロシージャTable1とget Column1から値をTable1と表2を養う二ストアドプロシージャを呼び出すを。 しかし、2番目のストアドプロシージャを次のように呼び出すと、 Exec USPStoredProcName 次のエラーが発生します。 EXECUTE後のトランザクション数は、BEGINステートメントとCOMMITステートメントの数が一致しないことを示しています。以前のカウント= 1、現在のカウント= 0。 私は他のそのような質問の答えを読みましたが、正確にコミット数がめちゃくちゃになっている場所を見つけることができません。

8
1052:フィールドリストの列 'id'があいまいです
2つのテーブルがあります。tbl_namesそしてtbl_sectionその両方持っているidそれらのフィールドを。id常にこのエラーが発生するため、フィールドを選択するにはどうすればよいですか。 1052: Column 'id' in field list is ambiguous これが私のクエリです: SELECT id, name, section FROM tbl_names, tbl_section WHERE tbl_names.id = tbl_section.id すべてのフィールドを選択するだけでエラーを回避できます。しかし、それはパフォーマンスの無駄になります。私は何をすべきか?


5
ストアドプロシージャで新しいGuidを生成する方法は?
現在、テーブルに新しい行を挿入するストアドプロシージャがあります。 insert into cars (id, Make, Model) values('A new Guid', "Ford", "Mustang") したがって、主キー「id」はGuidです。C#コードで新しいGuidを作成する方法は知っていますが、ストアドプロシージャ内で、主キー値の新しいGuidを生成する方法がわかりません。

3
DateTime(UTC)の保存とDateTimeOffsetの保存
私は通常、データベースの読み取り/書き込みの直前にDateTime変換(UTCから現地時間へ、および現地時間からUTCへ)する「インターセプター」を持っているので、DateTime.Now心配することなくシステム全体で(派生と比較)を使用できます。タイムゾーンについて。 シリアル化とコンピューター間でのデータの移動については、日時が常にUTCであるため、煩わしいことはありません。 日付(SQL 2008-datetime)をUTC形式で保存し続ける必要がありますか、それともDateTimeOffset(SQL 2008-datetimeoffset)を使用して保存する必要がありますか? データベース(datetime型)のUTC日付は長い間機能していて知られていますが、なぜそれを変更するのですか?利点は何ですか? 私はすでにこのような記事を調べましたが、100%確信しているわけではありません。何かご意見は?

9
InnoDBによる全文検索
私は、大量のWebアプリケーションを開発しています。その一部は、ディスカッション投稿のMySQLデータベースであり、スムーズに20M +行に成長する必要があります。 もともとはテーブルに(組み込みの全文検索機能用に)MyISAMを使用することを計画していましたが、1回の書き込み操作でテーブル全体がロックされていると思ってシャッターを切っていました。行レベルのロックは非常に理にかなっています(巨大なテーブルを処理するときのInnoDBの他の速度の利点は言うまでもありません)。したがって、このため、私はInnoDBを使用することをかなり決心しています。 問題は... InnoDBにはフルテキスト検索機能が組み込まれていません。 サードパーティの検索システムを使用する必要がありますか?同様のLucene(C ++) / スフィンクス?データベース忍者に提案やガイダンスはありますか?LinkedInのzoie(Luceneをベースとする)は現時点で最良のオプションのようです...リアルタイム機能を中心に構築されている(これは私のアプリケーションにとって非常に重要です。)私はまだ洞察を得ずにコミットすることを少しためらっています... (参考:フロントエンドにサービスを提供するためにPHPを使用して、ハイメモリリグを備えたEC2に参加します)

6
パラメータ化されたSQLクエリを作成するにはどうすればよいですか?どして私がこんな事に?
「誰もが」パラメータ化されたSQLクエリを使用して、すべてのユーザー入力を無駄にすることなくSQLインジェクション攻撃から保護していると聞きました。 これどうやってやるの?ストアドプロシージャを使用するときにこれを自動的に取得しますか? だから私の理解はこれはパラメータ化されていません: cmdText = String.Format("SELECT foo FROM bar WHERE baz = '{0}'", fuz) これはパラメーター化されますか? cmdText = String.Format("EXEC foo_from_baz '{0}'", fuz) または、SQLインジェクションから身を守るために、このようにもっと広範囲に及ぶ必要がありますか? With command .Parameters.Count = 1 .Parameters.Item(0).ParameterName = "@baz" .Parameters.Item(0).Value = fuz End With セキュリティに関する考慮事項以外に、パラメーター化されたクエリを使用することの他の利点はありますか? 更新:この素晴らしい記事は、Grotokによる質問参照の1つにリンクされていました。 http://www.sommarskog.se/dynamic_sql.html

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