![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброе время суток, форумчане.
Есть таблица «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 |