問題タブ [sql-view]
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ビューはnull以外のテーブルからnull許容列を推測しますか?
null以外の「quantity」(decimal)列と「status」(int)列を持つProductテーブルがあり、次のケース式を使用してこのテーブルにビューを作成しました。
ProductTypeIdは、null以外として正しく推測されます。ただし、基になる列がNULL可能ではない場合でも、このビューの数量列はNULL可能であると推測されます。これは私には意味がありません。
この場合、ISNULL / COALESCEを使用してデフォルト値を提供し、null可能性を強制することはできますが、意味のあるデフォルト値はありません。これは、私が理解していることから、そもそも発生しないはずです。何が起こっているのかアイデアはありますか?
sql - SQL ビューの二重列
"BODY_TEXT" (varcharmax)
テーブル T1 に値,を挿入する従来のインターフェイスがあります"BODY_BIN"(varbinarymax)
。現在、列の 1 つだけに挿入し、もう 1 つの列は NULL のままにします。ここで、"BODY"(varbinarymax)
列のみを持つテーブル T2 という新しいインターフェイスを実装しました。
T1 を置き換えるビュー V1 を作成する必要があります。つまり、
など…</p>
列の扱い方がわからないT2.BODY
…みたいなことをする必要があります
T2.BODY AS (whatever is not null(BODY_BIN, BODY_TEXT))
。varcharmax
vs. varbinarymaxもサポートする必要があります。COALESCE
意味 を実装しようとしT2.BODY AS COALESCE(BODY_BIN, BODY_TEXT)
ましたが、うまくいきません。そうでもない
繰り返しますが、従来のテーブルには、BODY_BIN と BODY_TEXT の 2 つの列を持つ T1 がありました。本文はバイナリまたはテキストのいずれかであり、両方ではないため、ユーザーは 1 つの値を挿入し、もう 1 つの値を null のままにしました。新しいインターフェイスには、BODY (varbinarymax) という 1 つの列しかないテーブル T2 があり、テーブル T1 を削除して同じ名前のビューを作成するように求められました。つまり、下位比較可能性を維持するために、「T1 値 X、Y への挿入」(X は DATA_BIN または NULL、Y は DATA_TEXT または NULL) を引き続き実行できる必要がありますが、コンテンツ (X または Y から取得) はT2 テーブルの 1 つの列 - BODY に変換されます。これを引き上げる方法がわかりません。
手伝って頂けますか?
ありがとう、
ニリ
tsql - SQL ビュー - 変数がない?
ビュー内で変数を宣言することは可能ですか? 例えば:
構文エラーが表示されます:
キーワード「Declare」付近の構文が正しくありません。
sql-server - 1 対多の関係からの SQL ビュー、パフォーマンス、およびカウント
一連のテーブルの基本的な SQL-VIEW を作成するのに助けが必要です。ここに簡単な概要があります
- ClaimDetail テーブルがあり、StatusID、BrandID、SalespersonID などのルックアップ フィールドがいくつかあります。
- いつものように、ルックアップ フィールドは、MasterStatus、MasterBrand などのマスター テーブルにマップされます。{構造: ID、タイトル}
- また、コメントとファイルという 2 つのテーブルがあります。クレームには、複数のコメントと複数のファイルを含めることができます。
- 請求のリストとなるダッシュボードを表示する必要があります。マスター テーブルのタイトルと、コメントとファイルの数を表示する必要があります。
現在、このダッシュボードには 2 つのビューがあります。1 つは特定の詳細に限定された Customer タイプのユーザー用で、もう 1 つは内部ユーザー向けの詳細ビューです。顧客ビューは内部ビューのサブセットであると言えます。
2つのオプションがあります-
- オプション #1: vw_Internal ビューを 1 つ作成し、それを使用して両方のユーザーのデータを取得します。
- Opt#2: 顧客に必要なフィールドのみを持つ vw_Customer を作成し、vw_Customer INNER JOIN マスター テーブルのようなvw_Internalを作成します。つまり、基本的な vw_Customer を拡張して、より多くのフィールドを含めます。
オプション #2 は、速度とパフォーマンスの観点から理にかなっていますか? Opt#1 は単純ですが、膨大な数のレコードを考慮して、顧客がダッシュボードに含まれない余分なルックアップを待つ必要がないようにしたいと考えています。
最後に、私が言及した最後の機能を利用する方法はありますか? つまり、ClaimDetail テーブルと 1 対多の関係にあるコメントとファイルの数を取得しています。クレームにコメントがあるかどうかを示すカウントまたは少なくともブールフィールドが必要です(ファイルについても同じ)-カウント= 0の場合はfalseになります。この機能によるパフォーマンスへの影響についても心配しています.
前もって感謝します。
sql - SQLビューの更新で問題が発生しました
SQLビューに問題があります。私の実際の見解にはいくつかの結合が含まれていますが、私の質問の目的のために、より小さな例で問題を示します。
私が意見を持っていると言ってください…</p>
だから、すべてが順調です。次に、ビューAを変更して読み取ります…</ p>
だから今私が書くなら…</p>
列を返しますIdColumn
しかし、私が書くと…</ p>
IdC
ビューAから元の列名を返します
私は試しsp_refreshview
ましたが、それは役に立ちませんでした。
ビューBにビューAから更新された列名を返すようにするにはどうすればよいですか?
アップデート **
さて、私は元の質問を台無しにしました。皆様のご回答に感謝いたします。ビューAをビューBのテーブルBに結合するつもりです。ビューBのalterステートメントで問題が解決したようです。
sql-server - DB2 から SQL Server 2005 へのビュー
DB2 と SQL Server の間でビューを移動しようとしています。
ビューは DB2 では機能しますが、SQL Server では WHERE 句が原因で機能しません。このビューを SQL Server で動作するように書き直す方法について、推奨事項はありますか?
sql-server - 結合されたテーブルを含むSQL更新可能ビュー
私はこれに似た見方をしています、
を使用して更新しようとしていますStaffPreferences.filter_type
、
これをMSDNの記事で読んだことがあります。
UPDATE、INSERT、およびDELETEステートメントを含むすべての変更は、1つのベーステーブルからの列のみを参照する必要があります。
これは、dbo.Staffのフィールドのみを更新できることを意味します(これは現在達成できるすべてです)。このコンテキストでは、「ベーステーブル」の定義は、その後に結合されるテーブルに拡張されませんか?
domain-driven-design - 読み取り専用のデータベースビューは、リポジトリパターンにどのように適合しますか?
例:データベースに「CustomerOrdersOnHold」という名前のSQLビューがあります。このビューは、特定の顧客データフィールドと注文データフィールドのフィルタリングされた組み合わせを返します。アプリケーションのこのビューからデータをフェッチする必要があります。このようなビューへのアクセスは、リポジトリパターンにどのように適合しますか?「CustomerOrdersOnHoldRepository」を作成しますか?このような読み取り専用ビューは集約ルートと見なされますか?
sql - Creating a View using stored procedure
This questions have asked few times before, unfortunately I did not get an answer to my questions.
Well I have two SQL (SQL SERVER 2008) tables, Employee and Employee expens, where Employee Id is the Primary key and the foreign key respectively.
Employee table columns, 1. Employee Id (P Key) 2. Manager 3. Location 4. Join Date 5. Name
Employee Expense table columns, 1. Expense Id (P Key) 2. Employee Id (F key) 3. Expense Type 4. Expense Amount 5. Expense Date.
Question is, I want to create a view to be used in a SharePoint web part, where I will query both table, So my requirement is to create a view using following Columns,
From Employee I need Employee Id and Name. From Employee Expenses I need Expense Type, Expense Amount, Expense Date.
Additional requirements.
a. If I have multiple entries for an employee in the table Employee Expense, that many no of rows should be there in the View
b. Even If I have no entry in the Employee Expense table, then also I should get the row for that particular Employee in the view, with null for the Employee Expense table columns.
Please help me to proceed ...
Editing To add the required view code as the Stack Overflow members instructed !!
Please help.