問題タブ [ansi-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1950 参照

c# - SQLで主キーを持つ行を複製しますか?

クロス DB (SQL Server と PostgreSQL) 互換の SQL を作成しようとしています。私がする必要があるのは、行を複製することです。行全体をクライアントにプルして再挿入することなく、SQL サーバーでローカルに実行することをお勧めします。また、列名を動的に入力する新しい SQL クエリを最初から作成する必要はありませんが、これはオプションだと思います。

例: アドレス テーブルがあります。次のようなテーブルです: address_rid: 整数、主キー、自動インクリメント、非 null address1: varchar(100) address2: varchar(100)

さて、私たちの目標は、address1 と address2 が同じになるようにこれらの行の 1 つを複製できるようにすることですが、address_rid は通常どおり次の値に設定されます。

これをどのように行うつもりですか?

また、 SQLで行を複製する最も簡単な方法を見てきました

持っている

p>

このようなものを postgres で動作させたりdefault、挿入される主キーのようなものを使用したりするのに問題があります。

編集: また、SQL Server と Postgres でこれを行う 2 つの個別のクエリを使用することもできますが、1 つのクエリを維持する必要があるだけです。

クライアントとして C# ado.net を使用しています。

0 投票する
2 に答える
519 参照

sql - null 以外の FK 制約を持つ MxN 関係のすべてのエントリを削除します

中間テーブルを介して MxN 関係で関連付けられている 2 つのエンティティ A と B があるため、合計 3 つのテーブルが作成されます。私のリレーション テーブル R には、他の 2 つのテーブルに null 非許容の FK 制約があります。

Aが何らかの制約に従うテーブルA、B、およびRからすべてのエントリを削除したい(たとえば、テーブルにIDを指定できます)。

ストアド プロシージャに頼らず、null 以外の制約に違反することなく、3 つのテーブルからエントリを削除することは可能ですか?

私は次のようなものが欲しい:

0 投票する
8 に答える
2160 参照

sql - 任意の FROM システムを選択

これらのクエリのいずれかを SQL で実行できますか?

を作成したいgenerate_seriesのですが、それが私が尋ねている理由です。

0 投票する
2 に答える
424 参照

sql - 子テーブルの一致するレコードが ANSI SQL に存在するかどうかを調べるテーブルのクエリ

1対多の関係がある2つのテーブルAとBがあります。

ここで、A からのいくつかのレコードと、B に一致するレコードがあるかどうかを示すこの存在フィールドが必要です。countBにはSQLの実行を遅らせるレコードが多すぎるため、関数を使用したくありません。rownum可能な限り多くの互換性が必要なため、以下のように Oracle のような独自のキーワードを使用したくありません。

0 投票する
2 に答える
387 参照

sql - クエリでの派生列の早期(または並べ替え)の再利用-これは有効なANSI SQLですか?

これは有効なANSISQLですか?:

Teradata(12)はこれと同様にこれを実行できるため(そうです、クレイジーではありません):

ただし、SQLServer2005には次のようなものが必要です。

0 投票する
3 に答える
11940 参照

sql - SQLの「GROUPBY」句ですべての列を明示的に指定する必要があるのはなぜですか。「GROUPBY*」ではないのはなぜですか。

これはいつも私を悩ませてきました-SQLステートメントのGROUPBY句で、すべての非集計列を含める必要があるのはなぜですか?これらの列はデフォルトで含まれている必要があります-一種の"GROUPBY*"-すべて含まれていないとクエリを実行することさえできないためです。すべての列は集計であるか、「GROUP BY」で指定する必要がありますが、集計されていないものはすべて自動的にグループ化されるようです。

それはANSI-SQL規格の一部かもしれませんが、それでも理由はわかりません。誰かが私がこの大会の必要性を理解するのを手伝ってもらえますか?

0 投票する
5 に答える
583 参照

sql - 平均数値のサブクエリを削除

クエスト

このクエリは、「Vancouver」で始まるすべてのポイントを選択し、「Vancouver」で始まるすべての場所の中心から 5 分のエリア内にあります。たとえば、Vancouver South Fraser、Vancouver Fairview、Vancouver Ballantree Place W の緯度と経度は、それぞれの平均緯度と経度から 5 分以内です。緯度と経度は (4915, 12311) の整数のペア (北緯 49.15 度と西経 123.11 度) として格納されます。

SQL コード

次の SQL の嫌悪感はトリックを行います。

質問

ビューを使用せずに、このクエリを単純化して冗長性を取り除くにはどうすればよいですか?

制限

データベースは MySQL ですが、ANSI SQL は常に優れています。

ありがとうございました!

0 投票する
2 に答える
13039 参照

sql - ANSI SQL を使用して、単純なデータ ウェアハウスに対してこれら 2 つのクエリを作成する方法は?

私は単純なデータ ウェアハウスを作成しており、テーブルにクエリを実行してデータの定期的な (たとえば毎週の) 変化と、データの変化の変化 (たとえば、毎週の売上高の週ごとの変化) を観察できます。

簡単にするために、ここで使用しているテーブルの非常に単純化された (ほとんど自明化された) バージョンを提示します。売上データ テーブルはビューであり、次の構造を持っています。

この質問の目的のために。product_id、sales_person_id などの他のフィールドは、この質問と直接関係がないため省略しています。AFAICT、クエリで使用される唯一のフィールドは、sales_time フィールドと sales_amt フィールドです (私が間違っていない限り)。

次の構造の日付ディメンション テーブルもあります。

日付をレポート範囲に分割します。

次のことができるクエリを作成する必要があります。

  1. 指定された期間の週 sales_amt の週の変化を返します。たとえば、今日の売上と N 日前の売上の変化 - N は正の整数 (この場合は N == 7) です。

  2. 指定された期間の sales_amt の変化の変化を返します。(1)の場合。週ごとの変化を計算しました。ここで、その変化が、先週計算された (週ごとの) 変化とどのように異なるかを知りたいと考えています。

ただし、SQL は私の最も弱いスキルであるため、この時点で立ち往生しています。SQL マスターが、これらのクエリを DB にとらわれない方法で (つまり、ANSI SQL を使用して) 記述する方法を説明してくれるとありがたいです。

0 投票する
2 に答える
2296 参照

oracle - 数値をフォーマットするためのansisql構文の使用

プロジェクトに2つの異なるデータベース、OracleとApache Derbyを使用しており、両方のデータベースでサポートされているANSISQL構文を可能な限り使用しようとしています。

列のあるテーブルがあります amount_paid NUMERIC(26,2)

Oracle dbを使用していた私の古いコードは、この形式で値を取得する必要がありました

ANSI sql構文を使用して、数値を「9,999,999,999,999.99」の形式のこのような文字列に変換するにはどうすればよいですか?

0 投票する
6 に答える
1550 参照

sql - ANSI構文SQLクエリのどこに条件を置くか

これら2つのクエリの違いは何ですか?さまざまな構文のあいまいさを解明できなかったため、ANSI構文の時流に乗ることに抵抗してきました。

1)結合の積を返し、その後、重みが500以上の結合されたレコードを除外しますか?そして、2)参加前にそれらを除外していますか?

2つの構文は間違っていますか?なぜ私はそれを使うのでしょうか?

1:

2: