Есть 3 таблицы:
-Foods
-Ingredients
-Link
Таблица блюд и ингредиентов связана Many-to-Many через промежуточную таблицу Link.
Структура Foods:

Структура Ingredients:

Структура Link:

В чем идея: есть некий список блюд. По двойному клику открывается окно со списком ингредиентов, количеством брутто и ценой. Имя блюда и цена летят из Ingredients, а количество брутто из Links. Для удобства пользования необходимо редактирование прямо в ячейках таблицы (в моем случае cxGrid).
Данные вытаскиваю через Query с master-detail отношениями. Каким образом можно данные из двух разных датасетов засунуть в 1 таблицу и редактировать их там же? В моем случае делаю запрос с Left Join необходимых мне полей из таблицы ингредиентов, но они не редактируемые, только поля, которые принадлежат Link, поддаются редактированию.