Доброе время суток, форумчане.
Есть таблица «MAIN_TABLE», которую я с помощью DataSet и Grid отображаю – все нормально.
Но мне потребовалось объединить две таблицы «MAIN_TABLE» и «SYNONYM» запросом:
Код:
SELECT mt.*, sy.synonym FROM MAIN_TABLE mt LEFT OUTER JOIN SYNONYM sy ON mt.ew1 = sy.ew1 ORDER BY mt.ew1
но получается так, что в «SYNONYM», есть несколько слов, которые привязываются к одному слову из «MAIN_TABLE», и поэтому строки в «MAIN_TABLE» дублируются.
А мне нужно убрать дубляж, а все слова из поля «sy.synonym» (из нескольких строк) засунуть в TDBMemo (чтоб в сумме получилась одна строка в выборке), которое соединено с виртуальным полем в Dataset (т.е. это где-то на уровне DataSet делать преобразования, или нет?).
Как это сделать?
Еще можно использовать внутреннею процедуру, котрая будет собирать все слова из «SYNONYM» конкретного слова в один результат, и потом вызывать эту процедуру каждый раз, когда переходишь со строки на строку в «MAIN_TABLE», а результат писать допутим в вычисляемое поле DataSet.
Но как-то это плохо выглядеть будет
Заранее спасибо
P.S.
Использую FireBird2.5.4