Sql 如何确定A(一维数组)是否是B(二维数组)的一部分?
老实说,我已经离开这里了 范围。我有两个数据库,其中有表。我想将这些表与se进行比较,看它们是否匹配 我的做法是:Sql 如何确定A(一维数组)是否是B(二维数组)的一部分?,sql,arrays,powershell,contains,Sql,Arrays,Powershell,Contains,老实说,我已经离开这里了 范围。我有两个数据库,其中有表。我想将这些表与se进行比较,看它们是否匹配 我的做法是: 从db1表1获取数据 从db2表1获取数据 对于db2表1中的每一行,检查db1表1中是否存在该行 例如: db1表1 id,第1列,第2列 1,aa,bb 2,cc,dd 3,ee,ff db2表1 id,第1列,第2列 1,aa,bb 3,ee,aa id=1的行不会生成输出,因为它在db1 table1中与db2 table1中完全相同。 id=2的行将不会生成输
- 从db1表1获取数据
- 从db2表1获取数据
- 对于db2表1中的每一行,检查db1表1中是否存在该行
- id,第1列,第2列
- 1,aa,bb
- 2,cc,dd
- 3,ee,ff
- id,第1列,第2列
- 1,aa,bb
- 3,ee,aa
@{id=1; column1=aa; column2=bb} @{id=2; column1=cc; column2=dd} @{id=3; column1=ee; column2=ff}
…对于db2表1,请执行以下操作:
@{id=1; column1=aa; column2=bb} @{id=3; column1=ee; column2=aa}
我的想法是这样做:
foreach ($row in $db2table1) {
if($db1table1.Contains($row)) {
#all is good
}
else {
#error
}
}
但它不起作用。想法?使这项任务更容易。您可以执行如下检查:
$check = Compare-Object -ref $db1table1 -dif $db2table1
if ($check) {
"Error"
} else {
"All Good"
}
默认情况下,
Compare Object
仅输出差异,指示哪个对象具有差异(SideIndicator
属性)。如果未发现差异,则不会输出任何内容。您可以使用-IncludeEqual
和-ExcludeDifferent
参数更改默认行为。不使用比较对象
有什么特殊原因吗?