+ Ответить в теме
Показано с 1 по 4 из 4

Тема: Принцип JOIN

  1. #1
    farrier is on a distinguished road
    Регистрация
    29.03.2009
    Возраст
    30
    Сообщений
    2
    Вес репутации
    0

    По умолчанию Принцип JOIN

    Стоит задача, чтоб сделать автоматический join ЛЮБОЙ схемы в базе данных.
    То есть моя программа подсоединяется к базе, читает как связаны друг с другом таблицы и показывает клиенту. Тот выбирает нужные таблицы и нажимает Сделать запрос.
    И вот моя прога должна соединить эти таблицы в JOINах. Но получается, что может быть
    несколько таблиц связаны между собой - то есть например address имеет foreign key для role и для customer. И получается, что address должен 2 раза появиться перед словом JOIN - а это ж недопустимо
    Можно объяснить как-от принцип формирования этих JOIN - а то я чтото не совсем понимаю логику их формирования в случае, когда на какую-то таблицу есть ссылки например сразу в трех других?

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Administrator Админ
    system architect
    AiK is on a distinguished road Аватар для AiK
    Регистрация
    13.02.2004
    Адрес
    СПб
    Сообщений
    2,298
    Вес репутации
    80

    По умолчанию Re: Принцип JOIN

    не очень понял.
    Чем не устраивает что-то вроде
    Код sql:
    1. SELECT
    2.         *
    3. FROM
    4.         table1 t1,
    5.         table2 t2,
    6.         table3 t3,
    7.         table3 t4
    8. WHERE
    9.         t1.some_id  = t2.some_id
    10.     AND t1.some_id  = t3.some_id
    11.     AND t1.some_id  = t4.some_id

    к слову, джойны могут выполнятся и по парам, отличным от PK<->FK.
    Даже самый дурацкий замысел можно воплотить мастерски

  4. #3
    farrier is on a distinguished road
    Регистрация
    29.03.2009
    Возраст
    30
    Сообщений
    2
    Вес репутации
    0

    По умолчанию Re: Принцип JOIN

    Требование такое, чтоб через join было

  5. #4
    Super Moderator system architect Naeel Maqsudov is a jewel in the rough Naeel Maqsudov is a jewel in the rough Naeel Maqsudov is a jewel in the rough Аватар для Naeel Maqsudov
    Регистрация
    20.02.2004
    Адрес
    Moscow, Russia
    Возраст
    45
    Сообщений
    2,551
    Вес репутации
    22

    По умолчанию Re: Принцип JOIN

    Ну а какие проблемы? Если 3 таблицы связаны, то объединяйте Join-ом все 3.

    Пример неудачный с Address Role и Customer.. Ничего не понятно.

    from t1 join (t2 join t3 on (t2.pk=t3.fk)) on (t1.pk=t2.fk)

    Но мене кажется что Вы пытаетесь перевыполнить Ваше задание. Наверное надо как в Access. Просматривается 1 таблица (главная), и к ней дается на выбор несколько связанных с ней (подчиненных (со вторичными ключами)), чтобы показать связанные дочерние записи. Выбирается единовременно только одна.

+ Ответить в теме

Похожие темы

  1. Left Join в Excell
    Потскажите, может есть стандартный способ решения данной проблемы? К примеру, есть Таблица1. # Название Код количество 1 Булка 1001 ...
    от Pomuk в разделе MS Office и VB(A).
  2. Принцип антивируса
    Интересно, каким образом антивирусы проверяют программы при запуске? Вряд ли они перехватывают CreateProcess... скорее всего какую-то операцию...
    от LAngel в разделе Win API, Shell..
  3. join каждой записи НД с функцией (MSSQL) [2]
    Я так понял что join объединяет только наборы данных. А можно ли в MSSQL объединять КАЖДУЮ запись с функцией (параметрами которой являются значения...
    от VirusXP в разделе SQL

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения