Sql 如何确定A(一维数组)是否是B(二维数组)的一部分?

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的行将不会生成输

老实说,我已经离开这里了

范围。我有两个数据库,其中有表。我想将这些表与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的行将不会生成输出,因为它在db2表1中完全缺失。 id=3的行将生成错误,因为列2中的值在两个db之间不同

我已经设法从两个db和表中提取数据,现在我将它们放在两个不同的变量(2d数组?)中。现在问题来了

当我将内容写入主机时,db1 table1的情况如下所示:

@{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
参数更改默认行为。

不使用
比较对象
有什么特殊原因吗?