Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Как решить такое дело


Автор: Colloseum 21.9.2006, 12:03
Все это делаем пока в аксессе2000
Значит есть главная таблица 
Соглашения там два поля покупатель продавец:

Соглашения 
Номер соглашения
покупатель
продавец


Вторая куда собранны все все клиенты которые могут выступать и продавцами и покупателями.

Фирмы
...перечень контор...

Связываю табличку фирмы с табличкой [соглашения.покупатель], надо связать тех же теперь с колонкой [соглашения.продавец].

Проблема в том что что разделить нормально две таблицы нельзя.

Н/П В одном соглашении покупатель = фирма1 продавец = фирма2 в следующем может случится что наборот покупатель = фирма2 продавец = фирма1

Че делать не могу сообразить, поделитесь идеями  smile  smile  smile 

Автор: LSD 21.9.2006, 12:14
Поставь consrain что покупатель <> продавец.
Или вопрос в чем-то другом?

Автор: ТоляМБА 21.9.2006, 12:40
Цитата
 Как решить такое дело Проек БД

Прежде чем писать такие заголовки, потрудитесь прочитать правила форума.
Цитата(Colloseum @  21.9.2006,  12:03 Найти цитируемый пост)
Проблема в том что что разделить нормально две таблицы нельзя.

Почему?

Соглашения - Sogl
Номер соглашения - NSogl
покупатель - IDPok
продавец - IDProd

Фирмы - Firm
Айдишник фирмы - IDFirm
...перечень контор... - FirmName

Код

SELECT Sogl.NSogl, Firm.FirmName, Firm_1.FirmName
FROM Firm AS Firm_1 INNER JOIN (Firm INNER JOIN Sogl ON Firm.IDFirm = Sogl.IDPok) ON Firm_1.IDFirm = Sogl.IDProd;


Цитата(LSD @  21.9.2006,  12:14 Найти цитируемый пост)
Или вопрос в чем-то другом? 


Автор: Colloseum 21.9.2006, 15:49
Имеется ввиду как подвязать одну таблицу двум полям? не создавать же вторую копию таблицы Фирмы?? 
Вроде так нельзя или (одну таблицу двум полям) или я чего-то не знаю? Какой выход.
З.Ы. хотел картинку разместить да че-то мороки много.

Автор: batigoal 21.9.2006, 15:56
Цитата(Colloseum @  21.9.2006,  16:49 Найти цитируемый пост)
хотел картинку разместить да че-то мороки много. 

Постарайся все-таки, а то вопрос твой явно прост, но непонятен.

Автор: Colloseum 21.9.2006, 16:29
О, вот.
user posted image

Значит одни и те же фирмы могут выступать как покупателями так и продавцами.

Автор: skyboy 21.9.2006, 16:29
чего надо? собрать кого с кем и по каким признакам? отталкиваться от соглашений или от конкретной фирмы?

Автор: Colloseum 21.9.2006, 16:53
Смотри все просто: т.Соглашения это верз иерархии, как бы пока что.

Как видно Client'а можно найти в т.Фирмы, а salesman'a там же, вот так.
Разбить таблицу на две (отделив поставщиков и получателей отдельно) нельзя, в соглашении с ContractNum 10 клиент к примеру Фирма1 покупатель Фирма2, а в соглашении с ContractNum 11 уже Фирма2 будем продавать чето в Фирму1.

Автор: skyboy 21.9.2006, 17:44
и что из того? что надо получить? исходя из чего это надо получить? только что ты просто ещё раз объяснил, что одна и та же фирма может выступать,как в роли покупателя, так и в роли продавца...

Автор: ТоляМБА 22.9.2006, 05:03
Colloseum, $@#$% $#%%$ #^^^%%^^%%$!!!!!!!


ТЫ МОЙ ПОСТ ЧИТАЛ???

Я ТЕБЕ СДЕЛАЛ ИМЕННО ТО ЧТО ТЕБЕ НАДО - СОЗДАЙ В АКЦЕССЕ ТАБЛЫ КАК У МЕНЯ И ТЕКСТ ЗАПРОСА В ЗАПРОСЫ ЗАСУНЬ И ВЫВЕДИ В ВИДЕ КОНСТРУКТОРА!

И не %$#$ людям мозги такими сообщениями:
Цитата(Colloseum @  21.9.2006,  15:49 Найти цитируемый пост)
не создавать же вторую копию таблицы Фирмы?? 

Копия не создаётся, просто табла с фирмами привязывается 2 раза, но второй раз с другим названием!!!

Автор: PyS 22.9.2006, 08:42
Цитата(ТоляМБА @  22.9.2006,  08:03 Найти цитируемый пост)

И не %$#$ людям мозги такими сообщениями:
Цитата(Colloseum @  21.9.2006,  15:49 Найти цитируемый пост)
не создавать же вторую копию таблицы Фирмы?? 

Копия не создаётся, просто табла с фирмами привязывается 2 раза, но второй раз с другим названием!!!


ТоляМБА,  думаю что погорячился smile

Автор: ТоляМБА 22.9.2006, 09:09
Цитата(PyS @  22.9.2006,  08:42 Найти цитируемый пост)
ТоляМБА,  думаю что погорячился 

Да. Есть такое дело. Приношу свои извинения.

Просто надо читать и пробовать что люди пишут! Я этот пример накидал за 10 минут - ну неужели было трудно попробовать? Сразу бы всё стало ясно.

Автор: PyS 22.9.2006, 09:12
Цитата(ТоляМБА @  22.9.2006,  12:09 Найти цитируемый пост)

Да. Есть такое дело. Приношу свои извинения.


Я думаю, что ,Colloseum,  примет твои извинения smile


Цитата(ТоляМБА @  22.9.2006,  12:09 Найти цитируемый пост)

Просто надо читать и пробовать что люди пишут! Я этот пример накидал за 10 минут - ну неужели было трудно попробовать? Сразу бы всё стало ясно.

IMHO, что тебя просто не поняли. smile

Автор: skyboy 22.9.2006, 11:59
Colloseum, ты можешь в запросе использорвать одну и ту же таблицу дважды, а то и трижды: копия таблицы для этого не нужна, просто ты используешь источник данных сначала в одной роли, потом - в другой. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)