Главная страница
    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.44 MB
Время: 0.007 c
3-76757
TOD
2003-04-08 13:57
2003.04.24
Картинка в титле TDBGrid


1-76919
Demon_MHM
2003-04-14 18:50
2003.04.24
Проверка заполненности полей ввода


4-77230
Hawker2007
2003-02-27 01:04
2003.04.24
Как получить текущее состояние окна приложения


11-76868
Alexei Dragoner
2002-07-17 19:46
2003.04.24
TKOLForm.Paint, где ты?


7-77191
asdqwer
2003-03-02 08:43
2003.04.24
Управление частотой вращения кулера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский