Левое соединение fetchXml на основе общего столбца

У меня есть две таблицы, которые не связаны между собой, но имеют общий столбец. Я хочу соединить строки в таблице B, соответствующие <attribute name='substitutedproductid'> в таблице A. Таблица A выглядит следующим образом:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
  <entity name="productsubstitute">
    <attribute name='substitutedproductid' />
    <attribute name='new_quantity' />
    <attribute name='new_unit' />
    <attribute name='new_grouping' />
    <filter type="and">
      <condition attribute="productid" operator="eq" value="{guid}" />
    </filter>
  </entity>
</fetch>

Таблица Б выглядит так:

    <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
  <entity name="new_contractlinedislike">
    <attribute name="new_contractlinedislikeid" />
    <attribute name="substituteproductid" />
    <attribute name="new_unit" />
    <attribute name="new_quantity />
    <attribute name="new_grouping" />
    <filter type="and">
      <condition attribute="new_contractlineid" operator="eq"  value="{guid}" />
    </filter>
  </entity>
</fetch>

Как показано выше, в обеих таблицах есть поиск (substituteproductid), который может относиться к одному и тому же продукту. В случае, если поиски одинаковы, я хочу выполнить левое соединение с таблицей A. По сути, я хочу вернуть одну коллекцию сущностей из одной строки fetchXml. Как я могу этого добиться?


person Alan Judi    schedule 03.12.2018    source источник


Ответы (1)


В основном вы должны использовать link-entity. Этот запрос должен работать для вашего сценария. Сослался на старое обсуждение.

<fetch version='1.0' output-format='xml-platform' mapping='logical' >
  <entity name= 'productsubstitute' >
    <attribute name='new_quantity' />
    <attribute name='new_unit' />
    <attribute name='new_grouping' />
    <filter type='and' >
      <condition attribute='productid' operator='eq' value= '{guid}' />
    </filter>
    <link-entity name='new_contractlinedislike' from='substitutedproductid' to='substituteproductid' link-type='outer' >
      <attribute name='new_contractlinedislikeid' />
      <attribute name= 'new_grouping' />
    <filter type='and' >
      <condition attribute='new_contractlineid' operator='eq' value= '{guid}' />
    </filter>
    </link-entity>
  </entity>
</fetch>
person Arun Vinoth    schedule 03.12.2018
comment
Спасибо Арун. Я проверю код как можно скорее. Другой вопрос: если у меня есть две таблицы с двумя таблицами между ними, могу ли я просто использовать вложенный объект ссылки для получения совпадающих значений?! Заранее спасибо! - person Alan Judi; 04.12.2018
comment
@AlanJudi да, можешь. - person Arun Vinoth; 04.12.2018
comment
Я предполагаю, что мне придется добавить эти атрибуты между тегами объекта ссылки - person Alan Judi; 04.12.2018
comment
@AlanJudi точно, я добавил пример - person Arun Vinoth; 04.12.2018
comment
Эй, Арун, мне нужна ваша помощь с вопросом о powerBi, перейдите сюда: community.powerbi.com/t5/Developer/ - person Alan Judi; 18.12.2018
comment
Моя попытка создания пользовательских визуальных эффектов: позиция прямоугольника в d3 js"> stackoverflow.com/questions/53825079/ - person Alan Judi; 18.12.2018