Powershell, как использовать синтаксис SQL в system.data.datatable foreach для поиска переменных? - PullRequest
0 голосов
/ 05 апреля 2020

Я использую таблицу данных в Powershell ISE для 2 больших CSV-файлов. Второй файл используется для поиска различных объектов по идентификационному номеру, найденному в File1. Итак, File2 имеет либо 1, либо несколько объектов в зависимости от того, где они go. Я пытаюсь сделать стандартный foreach l oop, но не уверен, как заполнить, где числовая переменная будет go, так как это синтаксис SQL (насколько я понимаю). $ Script: MappingTable2 имеет хотя бы один совпадающий идентификатор, но иногда много. Я загрузил их в таблицы данных и не могу понять, как добавить эквивалент PowerShell в $ _ для поиска. Итак, где 2017 будет использовать все объекты, которые имеют 2017 в качестве идентификатора, я бы хотел посмотреть их по $ Code в File1. $ Script: MappingTable2.select ("PRACT_ID = '$ Code.ID'") не будет работать, но если там есть только число (как показано ниже), оно захватывает все строки, связанные с идентификатором. Или только один, если только один к одному. В надежде добавить массив в виде единой объединенной строки в новую 3-ю ячейку CSV в новом столбце, который должен быть объединен двумя файлами. Thx

foreach ($Code in $File1) {
$Script:MappingTable2.select("PRACT_ID = '2017'")}

1 Ответ

0 голосов
/ 05 апреля 2020

Я понял это! $ Code.gettype () был BaseType - имя объекта System.Object - DataRow. Когда я устанавливаю его в [строку], он работает. Так что это работает и очень быстро.

foreach ($Code in $File1) {
[string]$ID = $Code.PRACT_ID
$Script:MappingTable2.select("PRACT_ID = '$ID'")}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...