Select a.ID, b.Name, a.Place
from StorageItem a
inner join Storage b
on (a.id = b.id)
Приведенный выше запрос вернет все элементы в таблице StorageItem с его именем, теперь, если вы хотите отфильтровать его, чтобы возвращались только элементы для определенного элемента, добавьте условие where, подобное
Select a.ID, b.Name, a.Place
from StorageItem a
inner join Storage b
on (a.id = b.id)
where a.item_id = 1 -- place the item id here
Вы можете использовать где с такими параметрами, как:
MyQuery.Sql.Text := ' Select a.ID, b.Name, a.Place from StorageItem a
+ ' inner join Storage b on (a.id = b.id) '
+ ' where a.item_id = :ItemNo ';
MyQuery.ParamByName('ItemNo').asInteger := 1;
MyQuery.Open;
и присвойте приведенный выше запрос к dbGrid
также вы можете использовать свойство MasterSource для создания отношений без использования части "где"