BigQuery наверху получает набор продуктов и вложенные связанные таблицы.Затем я применяю фильтрацию в неудачной попытке создать шаблон спецификации.Это код фильтра.В запросе три таблицы, и я хочу отфильтровать верхний запрос по значению, вложенному в нижний запрос.Как я уже сказал, это в настоящее время дает желаемые результаты.
Однако .Contains () создает предложение SQL WHERE EXISTS () для каждого.Нам действительно нужен только один, но я не знаю, как получить внутренний идентификатор для сравнения с внешним.
from p in bigQuery // Root table
where ( from pp in p.LPP // Level 1 nested table
where (from pv in pp.LPV // Level 2 nested table
where pv.colorid == intValue // Our filter value
select p.id).Contains(p.id) // Where exists
select p.id).Contains(p.id) // Where exists
select p;
Есть мысли?В результате получается оператор SQL длиной 900 строк, и пока у нас есть только один фильтр.