Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.05.2010, 12:03
|
|||
---|---|---|---|
|
|||
помогите советом по связи таблиц |
|||
#18+
здравствуйте! не могу толком ничего придумать. к примеру, есть следующая конструкция три таблицы, первая в зависимости от значения одного из полей ссылается на данные либо второй, либо третьей таблицы. как лучше всего это реализовать? самый простой вариант - хранить указание на конкретную таблицу, как двойной ключ(в двух полях, либо блобом структуру типа (char*,int) или (int,int) - имя(номер) таблицы и номер строки в ней, считывать в одном запросе и в зависимости от результата формировать новый, записывая в поле from уже явно вторую или третью таблицы возможно ли это делать в одном sql запросе, т.е., внутри запроса определять таблицу для поля from? спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.05.2010, 13:54
|
|||
---|---|---|---|
|
|||
помогите советом по связи таблиц |
|||
#18+
Запрос формируется в клиенте, вот и формируй строку запроса как надо в зависимости от того, что в нужном поле первой таблицы. А во второй и третьей таблице строки связывай с записями первой по id соответствующей записи первой таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.05.2010, 14:02
|
|||
---|---|---|---|
|
|||
помогите советом по связи таблиц |
|||
#18+
запрос типа такой select tt1.*, tt2.sfield from t1 tt1, t2 tt2 where tt1.ufield in (..,..,..) and tt1.id=tt2.id union select tt1.*, tt3.ssfield from t1 tt1, t3 tt3 where tt1.ufield in (..,..,..) and tt1.id=tt3.id; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.05.2010, 14:20
|
|||
---|---|---|---|
|
|||
помогите советом по связи таблиц |
|||
#18+
ЯИра, мб, я не совсем вас понял) формировать запрос ЯИракак надо в зависимости от того, что в нужном поле первой таблицы - значит формировать один запрос на основе другого запроса, так? т.е, от обработки результатов запроса не уйти все равно. у меня вопрос, собственно, можно ли этого избежать, определяя нужную таблицу в основном запросе и запрашивая данные из неё. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.05.2010, 14:22
|
|||
---|---|---|---|
|
|||
помогите советом по связи таблиц |
|||
#18+
аа, я на ваш первый ответ отвечал. ага, union по всем возможным вариантам, да, понял, как вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.05.2010, 17:25
|
|||
---|---|---|---|
помогите советом по связи таблиц |
|||
#18+
А еще можно так: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=54&mobile=1&tid=2009342]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 477ms |
0 / 0 |