Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.10.2000, 13:38
|
|||
---|---|---|---|
|
|||
как сделать два в одном |
|||
#18+
Люди! У меня вопрос тут нарисовался. Имеются: таб 1 (содержит id и name) - типа справочник для таб 2 таб 2 (содержит id сом1 и сом2) сом1 и сом2 - поля, содержащие значения индекса таб1 Внимание, вопрос: какой запрос сможет вывести текстовые значения сом1 и сом2? aaf@mailru.com ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.10.2000, 15:04
|
|||
---|---|---|---|
|
|||
как сделать два в одном |
|||
#18+
если я правильно понял, то так select t1.id, t21.name, t22.name from tab1 t1 left join tab2 t21 on ( t1.com1 = t21.id ) left join tab2 t22 on ( t1.com2 = t22.id ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2000, 02:57
|
|||
---|---|---|---|
|
|||
как сделать два в одном |
|||
#18+
А откуда t21.name и t22.name? Я то по любому этот вариант по-пробую, но как это? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2000, 05:29
|
|||
---|---|---|---|
как сделать два в одном |
|||
#18+
А может проще? select сом1, сом2 from таб2 Я конечно понимаю что не так, но попробуйте сформулировать, чем это решение не подходит. Уж больно вопрос трудно понять. Может приведёте таблички с данными и тем что должно получиться? С приветом Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2000, 10:08
|
|||
---|---|---|---|
|
|||
как сделать два в одном |
|||
#18+
текстовые значения сом1 и сом2 - это и есть t21.name и t22.name а откуда они - так ведь SQL как бы это сказать - несмотря на всю простоту - тоже язык - учить его надо. А вот по поводу сложности понимания вопроса - это точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2000, 10:52
|
|||
---|---|---|---|
как сделать два в одном |
|||
#18+
Уже лучше. Осталось только выяснить как же связано сом1 с t21.name, а сом2 с t22.name. Чем такой пример не понравиться? create table #t1(id int, name varchar(5)) create table #t2(com1 int, com2 int) insert #t1 select 1,'One' union select 2, 'Two' insert #t2 select 1,2 select t21.name, t22.name from #t1 t21, #t1 t22, #t2 t2 where t21.id=t2.com1 and t22.id=t2.com2 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2000, 07:45
|
|||
---|---|---|---|
|
|||
как сделать два в одном |
|||
#18+
1.t21 и t22 - алиасы для таблицы с com1 и com2 2.по поводу последнего примера - у тебя таблица #t2 допускает NULL значения для атрибутов ну и и если какой - нибудь из com будет иметь значение NULL, то запрос ничего не возвратит. Надо так - или нет - всё зависит от семантики БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2000, 12:34
|
|||
---|---|---|---|
как сделать два в одном |
|||
#18+
А так? create table #t1(id int, name varchar(5)) create table #t2(com1 int null, com2 int null) insert #t1 select 1,'One' union select 2, 'Two' insert #t2 select 1,2 insert #t2 select 1,null insert #t2 select null,2 select t21.name, t22.name from #t1 t21, #t1 t22, #t2 t2 where t21.id=*t2.com1 and t22.id=*t2.com2 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=1827690]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 389ms |
0 / 0 |