問題タブ [cross-apply]
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 - INNER JOIN で SQL 関数 (ソースに依存するデータ) を使用してテーブルを更新する
私はこのUPDATE
声明を持っています:
- 個別に実行 - を返す単純な関数を使用します。
上記の update ステートメントは、「The multi-part identifier "B.B_ID" could not be bind.」というエラーを返します。私は何を間違っていますか?
sql-server - CROSS APPLY から INSERT を実行し、SQL Server の特定の列に対して INTEGER INCREMENT を実行する方法は?
私はこのクエリを持っています(これはうまくいきます):
ただし、 column についてはLineNum
、実際の値の代わりに Items/Item の下にある子の数に応じて、インクリメントされた数値 (1、2、3、4 など) を INSERT したいと考えています。
このインクリメントをその場で行うにはどうすればよいですか?
私はあなたたちを混乱させましたか?
編集 -
XML は次のようになります。
sql - クロス適用構文
クロス適用を使用する方が効率的だと思うクエリがあります。構文を join から cross apply に変更しましたが、一般的な構文エラーが発生します。
メッセージ 170、レベル 15、状態 1、行 14 行 14: 「適用」付近の構文が正しくありません。メッセージ 156、レベル 15、状態 1、行 21 キーワード「as」付近の構文が正しくありません。
クロス適用を使用するのはこれが初めてで、構文エラーは見られません (少なくとも、私が見つけた例と比較すると)。コードは次のとおりです。
どんな助けでも大歓迎です!
SD
performance - クロス適用が内部結合よりも速いのはなぜですか?
私は次の機能を持っています:
Object ID
、Detail ID
およびを抽出するには、次のクエリを使用しますDetail Name
。
以下のスクリーンショットは、実行計画のコストを示しています (32 秒かかります)。
次のクエリでは、クエリをcross apply
代わりに使用するように変更し、特定inner join
のFunctionB
を返すようにしました。Detail Name
Detail ID
以下のスクリーンショットは、その実行計画のコストを示しています (3 秒かかります)。
最初のケースでFunctionB
は、すべてのペアが返さDetail ID
れDetail Name
、通常は多くの時間がかかります。2 番目のケースでは、特定の に対してFunctionB
のみ返されるため、より高速に実行されますが、各 に対して実行されます。Detail Name
Detail ID
Object ID
なぜ最初のケースがとても遅いのですか? SQL Server はFunctionB
各行に対して 2 番目のケースを実行していますか?それとも、結果をキャッシュしていて、同じパラメーターを使用した関数の実行を回避していますか?
sql - CROSS APPLY VS STUFF 関数
GROUP_CONCAT
SQL Server で同等の関数を探しているところ、 CROSS APPLYとSTUFFという 2 つのオプションが見つかりました。結合を使用してスケジュール表のフィールドconcatenate
の日付を取得したいため。sday
これが私のデータベースのスキーマです。下の写真を参照してください。では、これに対するより良いアプローチは何ですか?
私はSTUFF
そのように機能しようとしましたが、レコードが複製されました:
sql - SQL Server APPLY AND JOIN キーワードのガイドライン
apply & join
キーワードの使用に関する記事を読んでいました。ある例では内部結合を使用し、他の例では apply キーワードを使用している SQL を参照してください。
ここにテーブルの写真があります
どちらのクエリも同じ出力と同じ実行プランを返します。これが写真です
再び外部適用と左外部結合を使用します
ここでも、両方のクエリが同じ出力と同じ実行計画を生成します。ですから、どのような状況で内部結合または左外部結合の代わりに使用する必要があるのか\u200b\u200bわかりませんOUTER APPLY
かCROSS APPLY
?
可能であれば、OUTER APPLY or CROSS APPLY
感謝を使用する必要がある同じシナリオが付属しています