Главная страница
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.011 c
1-76944
balykovdron
2003-04-12 12:15
2003.04.24
Помогите новичку вызвать поток.


1-76906
Jedi
2003-04-15 01:41
2003.04.24
Специальные символы в Label


3-76784
SergeyNew
2003-04-04 14:10
2003.04.24
размер БД


14-77137
nikkie
2003-04-06 23:46
2003.04.24
Сетевые настройки для дома/офиса


1-76883
default
2003-04-12 03:10
2003.04.24
---|Ветка была без названия|---