1
4
如果要将不同的结果插入到两个不同的表中,则需要两个不同的查询。 我唯一建议的是,“coupledRecords”查询可以只是一个内部联接:
如果您正在插入同一个表,其中有一个字段指示它是否是匹配的记录,那么可以将其作为一个查询来执行。 |
2
3
底线是,您需要2个查询,因为您要插入2个不同的表中。如果只有一个表而不是coupledRecords和notcoupledRecords,那么您可以在1个查询中完成它。:) |
3
3
我认为您可以这样做的一种方法是在一列上创建一个带有检查约束的分区视图,该列指示耦合/不耦合。然后插入到视图中,让SQL Server计算出目标表。不是说你会这么做,只是觉得我可能会提到!
|
4
2
如果可以更改
如果这不可能,那么您也可以尝试非分区视图解决方案。请看下面——它涉及的更多。
在不知道数据是如何分布的情况下(例如,行大小、可以为空的列数与不可以为空的列数、耦合与不耦合的比率),很难推荐一个通用的解决方案,但在大多数情况下,一个可能会很好地工作的解决方案是使用视图在单人间”
乍一看,这似乎效率极低,但请记住,空值占用了零存储空间,并且使用适当的索引,SQL不会浪费太多的时间来过滤“其他视图”的行。 它的工作原理如下:
以下是上述解决方案不起作用的一些情况:
警告:您肯定希望测试任何基于视图的解决方案的性能,以确保它不会使情况变得更糟——SQL通常擅长选择好的查询计划,但并不总是如此。测试,测试,测试! |
5
0
你基本上把数据分成两部分。一旦你做了,一旦你有一套钥匙在对联记录中,应该只做一个 不在 从那个开始
|
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
SoT · SQL Server中求和函数的工作方式 2 年前 |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |