問題タブ [derived-table]
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.
sql - サブクエリ派生テーブルエラーで更新
次のSQLステートメントを使用して、#temp
Sybase15データベースの最新のパッケージバージョン番号で一時テーブルを更新します。
私にとって(主にOracleとSQL ServerはSybaseよりも経験が豊富です)、このステートメントにはほとんど問題がありません。ただし、Sybaseは例外をスローします。
今、私はここで何が問題なのかわかりません。これは、aggregation /GROUPBYが使用されているためだと思います。もちろん、サブクエリを一時テーブルに入れて結合することもできますが、「正しい」メソッドがどうあるべきか、そして何が間違っているのかを本当に知りたいのです。
任意のアイデアやガイダンスをいただければ幸いです。
sql-server - 履歴値を取得して別のテーブルに保存するか、必要な場合にのみ既存のデータから履歴値を計算しますか?
tl;dr データベースのデータと設計の処理に関する一般的な質問:
ある時点で他のデータからデータを導出し、その導出されたデータを別のテーブルに保存して、その特定の時点での値の履歴を保持することは許容されますか? または、決して保存しないでください他のデータから派生したデータではなく、必要なときにのみ既存のデータから必要なデータを派生させますか?
私の特定のシナリオ:
人々の休暇日と休暇日のステータスを記録するデータベースがあります。何日残っているか、何日かかったかなどを追跡します。
設計要件の 1 つが変更され、特定の年の 12 月 31 日に人が何日残っているかを示すことができるようになりました。したがって、「ボブは 2010 年 12 月 31 日に 14 日残っていました」と言うことができる必要があります。
これを行うには、次の 2 つの方法があります。
12 月 31 日に、その時点で全員の残り日数を取得し、その時点での EmployeeID、Year、および DaysRemaining を持つ "YearEndHistories" のようなテーブルにそれらを挿入する SQL Server エージェント ジョブ。
YearEndHistories テーブルは保持しませんが、特定の時間に所有されている日数を知りたい場合は、その特定の時間までに存在する追加および削除されたすべての休暇をループします。
#1 に伴う確実性が気に入っています --- 記録された値は管理者によって見直され、その数値が変化することについての議論や可能性はありません。#2 では、効率が良いと思います。維持するテーブルが 1 つ少なくなり、実際のテーブルには派生データが存在しません。しかし、目に見えないバグがすり抜けて、人々の歴史的価値の計算が台無しになり始めるなど、奇妙な恐怖があります。2020 年に、「2012 年は 9.0 日ではなく 9.5 日で終わった! 私の半日はどこに行った?!」というようなことはしたくありません。
私たちが決定したことの 1 つは、前年度の値を変更することはできないということです。つまり、前の暦年に戻って休暇日などを追加することはできません。過去にミスがあったかどうかに関係なく、年末の値がTHE値です。間違いが発見された場合は、その年の休暇に報酬を与えるか差し引くことでバランスを取ります。
sql - ストアド プロシージャ内の最初のテーブルからの結果をユニオンおよび派生エイリアス テーブルから除外する
ユニオンと派生テーブルの状況を含むストアド プロシージャがあります。ストアド プロシージャは、基本的に、最初のテーブル (したがって 2 番目) の基準を満たさないCases
行を含め、すべての行を返す必要があります。Cases.AssnKey = AssnCtrl.pKey
私はこれに対していくつかのアプローチを試みました。最初に試してみると、基準を満たすすべての行が返されました。その後、顧客がすべてのケースを含めたいと考えていることを知りました。ある時点で、すべての行に加えCase
て、最初のテーブルの基準を満たす行の重複を返すバージョンがありました。2 番目のテーブルでは、重複を防ぐために最初のテーブルからレコードを除外しようとしています。
私は以下に到達しましたが、これは解析されますが、エラーがスローされます
「無効なオブジェクト名 'A'」.
入力パラメーターまたは宣言を含めませんでしたが、すべて正常に機能しています。どんな助けでも大歓迎です!
sql-server - 派生テーブルを含む SQL Server クエリ
1 つの通常のテーブルと 2 つの派生テーブル (サブクエリ) を含む選択クエリを作成しました。派生テーブルは両方とも、通常のテーブルと左結合で結合されます。通常のテーブルには 7000 行を超える行が含まれていますが、クエリの出力は約 3000 行です。通常のテーブルのレコード数と等しくなければなりません。私の間違いは何ですか?
すべての where 句について言及しました。リンクされたページが正しくない場合、それが問題になることはありません。
派生テーブルのテーブル名と列名も変更しました。これで、すべてのテーブル名と列名が一意になりました。
しかし、それでも同じ問題です。select の最後の 2 つの case ステートメントを削除すると、すべての出力行が取得されますが、これらの case ステートメントに問題は見られません。
mysql - MySql の派生テーブルからの選択
T
次のような テーブルがあります。
ここで ID は主キーではありません。
いくつかの操作を実行し、ID に従って結果をグループ化したので、次のT1
ような テーブルが得られます。
上記の操作により、に存在していた一部の IDT
が に削除されました。
ここで、 に対して何らかの操作を再度実行し、にリストされている ID のみに従って結果をグループ化したいと考えています。
MySql でどうすればできますか?T1
T
ID
T1
mysql - Mysqlで最大回数発生するエントリを見つける
私はこのようなテーブルを持っていますT
:
ID の 50% を超える ID とブランドの組み合わせを見つけたいです。例:ここでは、結果は次のようになります
(2,300) は ID 2 で 3 回中 2 回発生します。ID1 では、両方の組み合わせが 50% 回であるため、ID 1 の行はありません。
今、私は次のようにアプローチしました:
まず、各 ID、ブランドの組み合わせの数を見つけました:
次に、上記の基準を満たすすべての ID をリストします
それは完全に機能しますが、問題は、上記のクエリで次のように指定したため、対応するブランドを取得できないことです
次に、常にテーブルの最初のブランドを提供します。
これがSQLフィドルです
sql-server - ユニオンを使用した派生テーブルの SQL Server 参照フィールド
誰かが助けてくれることを願っているいくつかの派生テーブルに少し問題があります。私が持っているのは、選択ステートメント内の2つの派生テーブルで、ピボットを使用して結果を垂直ではなく水平に表示します。
私がこれまでに持っているものは次のとおりです。
私がやろうとしているのは、SELECT * を使用するのではなく、個々の列を参照することですが、その方法がわかりません。ユニオン以降のすべてを削除しても機能しませんが、ユニオンを入れると機能せず、SELECT *を使用する必要があります。
誰が何がうまくいかないのかについて何か考えがありますか?
ありがとう
アレックス
sql - SQL派生テーブルの結果が不明な列になります
いくつかの異なるテーブルから発生したオブジェクトのグループを表すことができるテーブルがあります。これらのオブジェクトはすべて、id
によって参照される、を持っていobject.ref_id
ます。
object.table_name
によって(によって参照されるテーブルから)元のオブジェクトを選択しようとしていますobject.id
。このために、私は次のSQLクエリを使用しようとしています。これは結果になりますが#1054 - Unknown column 'entity.id' in 'where clause'
。
私は何が間違っているのですか?
事例
ただし、私の場合、FROM句は例のように簡単ではありません。これは、この値は通常、から派生しているためobject.table_name
です。
TOMBOMのアプローチで更新
Tombomのソリューションを使用するとエラーが発生します。テストのために、CONCAT関数の変数を置き換えました。
#1243-EXECUTEに指定された不明なプリペアドステートメントハンドラー(stmt)
php - リクエストはphpadminでは機能しますが、私のphpコードでは機能しません
他の例を見せてください...このビューをphpで作成することはできません(phpmyadminでは作成できます)
しかし、私はphpでこれを行うことができます:
私は本当に理解できません..まず第一に、私の英語で申し訳ありません.私はフランス人です..phpadminで実行されるリクエストが私のphpコードで機能しない理由が本当にわかりません..おそらく派生テーブル...だから、私は最後の評価を取得しようとしています Fitch : 完全に機能するphpmyadminのSQLリクエスト:
PHP では、次のコードは実行されません。
別の例を示してください...
このビューを php で作成することはできません (一方、phpmyadmin では作成できます)。
しかし、私はphpでこれを行うことができます:
私は本当に理解していません..事前に感謝します,
sql - ビューの派生テーブルに新しい列を追加する
基になるテーブルを変更せずに、ビュー内の派生テーブルに新しい列を追加する方法を見つけようとしています。私がしなければならないことを説明しましょう:
SQL Server で実行される既存の RIS アプリケーションに、単純化された MQSA モジュールを追加する必要があります。11 か月ごとに行われる、乳房 MRI の一般書簡が郵送される予定の患者のリストを表示する必要があります。リストのアイテムが印刷されると、次の期日までリストから外される必要があります。
これを行うには、最後の印刷日を記録する追加の列が必要です。現在の日付と最後に印刷された日付の間の日数が 334 日を超える場合は、リストに表示する必要があります。
私の問題は、既存のデータベースを変更することが許可されていないため、この列を別のデータベース内の新しいテーブルに含める必要があることです。この別のデータベースに、既存のデータベースからテーブルを含むビューを作成しました。これにより、フィルター処理されていないデータのリストが正しい形式で表示されます。
関連する ID と、リストの項目が印刷された最終印刷日を記録するテーブルを新しいデータベースに追加しました。この新しいテーブルを、テーブルの 1 つに左外部結合を使用してビューに追加し、最後に印刷された日付の列をチェックして、結果のリストの一部になるようにしました。
新しいテーブルをビューと一緒にして、印刷予定のレイレターのみを表示する方法がわかりません。もちろん、新しいテーブルは空で、まだ何も印刷されていないため、データはまだありません。好奇心から、データ (ID の 2 つの列) を新しいテーブルに手動で複製して、それが機能するかどうかをテストしました。期待どおりに機能しました。
ビューのデータをこの新しいテーブルに何らかの方法でレプリケートできれば、それ自体が自動的に更新されてビューの変更が反映され、次のように簡単にタスクを達成できます。
私はトリガーについてあまり知らないので、複数のテーブルを含むビューで作業していることを考えると、それがオプションになるかどうかはわかりません。
どんなアイデアでも大歓迎です。どの方向に研究を始めるべきかを知る必要があるだけです。
ありがとう!
編集:おそらく私の質問は、別のデータベースのテーブルをミラーリングする方法でしょうか?