0

我面临的问题在于使用下面的 invoke-sqlcmd 命令

$result = Invoke-Sqlcmd -InputFile $sqlfile -ServerInstance $DB 

$sqlfile 中的示例 sql 是:

SELECT TOP 2 FROM [TABLE1]
SELECT TOP 3 FROM [TABLE2]

我所追求的输出类型将是两个表一个接一个的单一结果。

例如..

TABLE1
data1
data2
TABLE2
data1
data2
data3

这甚至可能吗?

我尝试使用Invoke-Sqlcmd2进行相同的操作,认为 PSCustomObject 数据类型会更容易使用..

$result = Invoke-Sqlcmd2 -InputFile $sqlfile-ServerInstance $DB -As PSObject

然而,这似乎只处理第一个选择查询并忽略第二个。

4

1 回答 1

0

您是否考虑过在 SQL 文件中进行 CROSS JOIN ?考虑以下几点:这里

你会做这样的事情:

SELECT * FROM Table1
CROSS JOIN Table2

这将为您提供两个表之间关联的所有数据,无论是否存在关系。如果你想通过关系连接,检查一些其他的 SQL 连接,例如 LEFT JOIN、INNER JOIN 等

于 2015-12-30T00:48:41.920 回答