|
как сделать два в одном
|
|||
---|---|---|---|
#18+
Люди! У меня вопрос тут нарисовался. Имеются: таб 1 (содержит id и name) - типа справочник для таб 2 таб 2 (содержит id сом1 и сом2) сом1 и сом2 - поля, содержащие значения индекса таб1 Внимание, вопрос: какой запрос сможет вывести текстовые значения сом1 и сом2? aaf@mailru.com ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2000, 13:38 |
|
как сделать два в одном
|
|||
---|---|---|---|
#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 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2000, 15:04 |
|
как сделать два в одном
|
|||
---|---|---|---|
#18+
А откуда t21.name и t22.name? Я то по любому этот вариант по-пробую, но как это? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2000, 02:57 |
|
как сделать два в одном
|
|||
---|---|---|---|
#18+
А может проще? select сом1, сом2 from таб2 Я конечно понимаю что не так, но попробуйте сформулировать, чем это решение не подходит. Уж больно вопрос трудно понять. Может приведёте таблички с данными и тем что должно получиться? С приветом Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2000, 05:29 |
|
как сделать два в одном
|
|||
---|---|---|---|
#18+
текстовые значения сом1 и сом2 - это и есть t21.name и t22.name а откуда они - так ведь SQL как бы это сказать - несмотря на всю простоту - тоже язык - учить его надо. А вот по поводу сложности понимания вопроса - это точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2000, 10:08 |
|
как сделать два в одном
|
|||
---|---|---|---|
#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 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2000, 10:52 |
|
как сделать два в одном
|
|||
---|---|---|---|
#18+
1.t21 и t22 - алиасы для таблицы с com1 и com2 2.по поводу последнего примера - у тебя таблица #t2 допускает NULL значения для атрибутов ну и и если какой - нибудь из com будет иметь значение NULL, то запрос ничего не возвратит. Надо так - или нет - всё зависит от семантики БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2000, 07:45 |
|
как сделать два в одном
|
|||
---|---|---|---|
#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 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2000, 12:34 |
|
|
start [/forum/topic.php?fid=46&tid=1827690]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 269ms |
total: | 395ms |
0 / 0 |