假设我有两个选择语句(这只是一个示例。数据也可以是文本):
S1 S2
| 1 | | a |
| 2 | | b |
| 3 | | c |
| 4 | | d |
| 5 | | e |
我怎样才能将它们“粘合”到一个语句中,但每列都像这样:
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|
这两个语句没有键,但在行上确实属于彼此(除非其中一个为空)。
我知道这可以使用 while 循环、游标和临时表来完成。问题是我需要它快速并且不要使用那么多资源,因为这个语句会被触发很多。也许你们中的一些人知道一个巧妙的技巧来实现这一点,或者有一个如何解决它的建议?
这是做什么用的?: 这个解决方案的用途是一个日志系统,它需要获取触发器表 UPDATED 和 INSERTED,将每一行转换为 XML 部分并将它们放入带有 XML 值或 null 的临时表中(取决于对该特定表的更改操作)。
任何帮助,将不胜感激。