Antonyous99 писал(а): 27 окт 2024, 06:14
find_in_set вместо in
Спасибо, find_in_set работает, запрос:
Код: Выделить всё
find_in_set (e.field_1066, (SELECT field_1064 FROM app_entity_111 WHERE id=[parent_item_id]))
Итог:
Выражение:
Код: Выделить всё
e.field_1066 in (SELECT field_1064 FROM app_entity_111 WHERE id=[parent_item_id])
Ограничивает Сущности значениями которые
точно совпадают, для простоты e.field_1066 = field_1064, т.е. если в списке field_1064 выбрано 2 значения, Сущности будут ограничены только теми записями, в поле e.field_1066 которого будут ровно те же 2 значения что и в field_1064;
Выражение:
Код: Выделить всё
find_in_set (e.field_1066, (SELECT field_1064 FROM app_entity_111 WHERE id=[parent_item_id]))
Ограничивает Сущности значениями которые
присутствуют в списке field_1064, но не равны этому списку, т.е. field_1066 = field_1064 не выполняется;
Выражение:
Код: Выделить всё
find_in_set (e.field_1066, (SELECT field_1064 FROM app_entity_111 WHERE id=[parent_item_id]))
OR
e.field_1066 in (SELECT field_1064 FROM app_entity_111 WHERE id=[parent_item_id])
Ограничивает Сущности значениями которые
присутствуют в списке field_1064 или значениями которые
точно совпадают e.field_1066 = field_1064.