2 つの select ステートメントがあるとします (これは単なる例です。データはテキストでもかまいません)。
S1 S2
| 1 | | a |
| 2 | | b |
| 3 | | c |
| 4 | | d |
| 5 | | e |
どうすればそれらを 1 つのステートメントに「接着」できますが、それぞれ次のように 1 つの列があります。
S1 S2 S3
| 1 | | a | | 1 a |
| 2 | | b | | 2 b |
| 3 | + | c | = | 3 c |
| 4 | | d | | 4 d |
| 5 | | e | | 5 e |
それが可能である場合、次のような null または空のステートメントに耐性がありますか?:
S1 S2 S3
| 1 | |NULL| | 1 NULL|
| 2 | | 2 NULL|
| 3 | + = | 3 NULL|
| 4 | | 4 NULL|
| 5 | | 5 NULL|
2 つのステートメントにはキーがありませんが、行ごとに互いに属しています (いずれかが null でない限り)。
これは、while ループ、カーソル、および一時テーブルを使用して実行できることを知っています。問題は、これを高速にする必要があり、多くのリソースを使用しないことです。これは、このステートメントが頻繁に実行されるためです。たぶん、これを達成するための巧妙なトリックを知っている人や、それを解決する方法を提案している人もいますか?
これは何に使用されますか?: このソリューションの目的は、トリガー テーブルの UPDATED および INSERTED を取得し、各行を XML 部分に変換し、それらを XML 値または null を持つ一時テーブルに配置する必要があるログ システムです (その特定のテーブルで変更されたアクション)。
どんな助けでも大歓迎です。