Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Вниз

Связь "многие ко многим"   Найти похожие ветки 

 
Simon ©   (2005-08-01 08:03) [0]

Я создаю "главная таблица -> посредник -> подчененная таблица"
при выборе записи в главной таблице в подчененной таблице выбиратеся только одна запись из нескольких возможных


 
ЮЮ ©   (2005-08-01 08:23) [1]

а где "посредник"?

Select <подчененная>.*
FROM
  <посредник>
  JOIN <подчененная> ON ...
WHERE
 <посредник>.<ссылка на главную> = :<ключ главной>


 
Виталий Панасенко   (2005-08-01 12:51) [2]

А больше инфы можно ? Или это коммерческая тайна ? Компоненты доступа, структура, как связал...


 
Simon ©   (2005-08-02 12:42) [3]

Главная        NaborIndex (int)

Посредник      NaborIndex (int)
              ProductIndex (int)

Подчененная    ProductIndex (int)
              TypeProduct (int)
              NameProduct (str)

Связываю их с помощью компонента Table, при выборе в главной записи в подчененной выбирается только одна запись
Не в Table ли проблема?


 
Дырчик ©   (2005-08-02 12:49) [4]

Недавно как раз выяснил, что ADOTable глючный в D7, используй ADOQuery


 
Ю.Ю.   (2005-08-02 12:51) [5]

>при выборе в главной записи в подчененной выбирается только одна запись

"Подчиненной" здесь должна быть таблица Посредник, а не таблица Подчененная, т.к. Подчененная прямо никак не связана с таблицей Главная.

А информацию из таблицы Подчененная "вытаскивай" с помощь Lookup полей


 
Виталий Панасенко   (2005-08-02 13:02) [6]

Подчененная    ProductIndex (int)- а это случаем не ключ (ПК)?
             TypeProduct (int)- без этого ?
             NameProduct (str)
Не в Table..

> Ю.Ю.   (02.08.05 12:51) [5]
> >при выборе в главной записи в подчененной выбирается только
> одна запись
>
> "Подчиненной" здесь должна быть таблица Посредник, а не
> таблица Подчененная, т.к. Подчененная прямо никак не связана
> с таблицей Главная.
>
> А информацию из таблицы Подчененная "вытаскивай" с помощь
> Lookup полей

Почему ? Он просто Посредник сделал Мастером для Подчиненной, а Главная - Мастер для Посредника.. Я так думаю... :-)


 
Simon ©   (2005-08-03 10:04) [7]

А можно маленький примерчик как организовать такую выборку с помощью компонента Query?


 
ЮЮ ©   (2005-08-03 10:12) [8]

>А можно маленький примерчик как организовать такую выборку с помощью компонента Query?

а в [1] что?
Если эту выборку надо и редактировать, то

Select *
FROM
 <посредник>
 JOIN <подчененная> ON <подчененная>.ProductIndex = <посредник>.ProductIndex
WHERE
<посредник>.NaborIndex = :NaborIndex

+

TUpdateSQL для редактирования только таблицы <посредник>

Если же использовать lookup-поля, то достаточно

Select *
FROM
 <посредник>
WHERE
 NaborIndex = :NaborIndex


 
Simon ©   (2005-08-03 10:20) [9]

Я так понимаю что редактирование всей цепочки нельзя загнать в один запрос?


 
ЮЮ ©   (2005-08-03 10:23) [10]

какой такой цепочки?
Ты редактируешь связи, т.е. таблицу Посредник.


 
msguns ©   (2005-08-03 10:24) [11]

>Simon ©   (03.08.05 10:20) [9]
>Я так понимаю что редактирование всей цепочки нельзя загнать в один запрос?

А я не понимаю как можно редактировать сразу всю цепочку, т.е. несколько записей одновременно



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

Форум: "Базы";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
1-1124799274
DmitryA
2005-08-23 16:14
2005.09.18
Delphi 2005 и QuickReport


1-1124700897
SpyBoy
2005-08-22 12:54
2005.09.18
размер каталога вместе с содержимым


2-1123758528
Гость22
2005-08-11 15:08
2005.09.18
Как сделать, чтоб MonthCalendar при запуске показывал текущую?


4-1122363925
Хинт
2005-07-26 11:45
2005.09.18
Как получить текст из SysListView32


14-1124808544
Вопрошающий
2005-08-23 18:49
2005.09.18
Публикация большого кол-ва фоток





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский