Показать сообщение отдельно
  #1  
Старый 26.05.2015, 03:08
Konstantin-78 Konstantin-78 вне форума
Новичок
 
Регистрация: 27.04.2015
Сообщения: 76
Версия Delphi: Delphi7
Репутация: 10
По умолчанию Корректное отображение данных после объединения таблиц

Доброе время суток, форумчане.

Есть таблица «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
Ответить с цитированием