Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Вопрос по созданию НД из трех таблиц   Найти похожие ветки 

 
Stelius   (2003-04-05 22:23) [0]

Мастера, требуется помощь.
Дано:
- таблица фирм (Tbl1): <индекс_фирмы> | <название фирмы>;
- таблица партнеров (Tbl2): <индекс_партнера> | <название_партнера>;
- таблица связи (Tbl3): <индекс_фирмы> | <индекс_партнера>.
Необходимо в одном DBGrid"е отобразить фирмы и соответствующих им партнеров.
Примечание: при использовании следующего запроса:

SELECT Tbl1.*, Tbl2.<название_партнера>
FROM TBL1, TBL2
WHERE Tbl2.<индекс_партнера> in (SELECT <индекс_партнера>
FROM Tbl3
WHERE Tbl3.<индекс_фирмы> = Tbl2.<индекс_фирмы>)


в НД фирма отображается столько раз, сколько у нее партнеров. Нельзя ли как-нибудь сделать, чтобы фирма упоминалась 1 раз, а ее партнеры были перечислены через запятую в одной ячейке.
БД создана в IB, СУБД пишу в D6.


 
Stelius   (2003-04-06 11:56) [1]

Хм, либо вопрос задал тупой, либо ни у кого нет никах соображений на этот счет или же это в принципе не реализуемо?
P.S. в последней строчке кода в вопросе вкралась опечатка. Вместо:

WHERE Tbl3.<индекс_фирмы> = Tbl2.<индекс_фирмы>

следует читать:

WHERE Tbl3.<индекс_фирмы> = Tbl1.<индекс_фирмы>.





 
sniknik ©   (2003-04-06 18:19) [2]

как понимаю нужно перевернуть данные из столбца в строку, т.е.
"Фирма 1"
"Фирма 2"
"Фирма 3"
"Фирма 4"
...
в
"Фирма 1, Фирма 2, Фирма 3, Фирма 4"
так?

было бы на MSSQL сказал бы нужно писать функцию и делать через нее, а с IB незнаю может быть и нельзя.


 
Наталия ©   (2003-04-07 06:11) [3]

Сделай через хранимую процедуру



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-76782
Жук
2003-04-04 16:35
2003.04.24
Разбивка поля numeric по разрядам


14-77095
Dark Hunter
2003-04-05 15:42
2003.04.24
Математические пакеты


14-77114
Fedor[nht]
2003-04-08 00:44
2003.04.24
Инсталятор


3-76788
Andrey V.
2003-04-03 06:40
2003.04.24
Appolo / Halycon / Titan / ...


14-77144
_MAD_
2003-04-07 21:20
2003.04.24
перехват сообщения об ошибке