![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
name by id [D5]
race1 © (2004-02-04 16:43:00)
у меня в таблица1 есть поле, которое ссылается на id в таблица2. таблица1 показывается в гриде, в том числе и поле с id"ом из другой таблицы. а как мне вместо числа id показывать какое-либо поле из таблица2 - строку?
дело происходит в firebirds + fibplus
MV (2004-02-06 12:37:00) [1]
Предположим, структура базы:
table1
-table1_id /*Свой Id*/
-name1
-table2_id /*Ссылка на 2 таблицу*/
table2
-table2_id
-name2
Тогда:
select t1.name1, t2.name2 from table1 t1
left outer join table2 t2 on
(t1.table2_id = t2.table2_id)
Все!
Ega23 (2004-02-06 11:00:00) [2]
Select [список необходимых полей] from [список таблиц] where [связки по ключам].
race1 (2004-02-06 10:48:00) [3]
это для упрощения я указал по два поля в таблицах. на самом деле полей больше и каждая таблица хранит данные, которые должна хранить :) это что-то типа отдельной таблицы "страны мира" в аксесе, из которой по id"у высвечивается название страны, а id страны храниться в другой таблице
Ega23 (2004-02-06 10:44:00) [4]
А зачем тебе тогда table2?
race1 (2004-02-06 10:37:00) [5]
так, чего-то не дошло :)
структура базы:
table1
-id
-name
table2
-id
-name_id
какой должен быть запрос, что бы вместо table2.name_id рисовалось имя из поля table1.name, где table1.id = table2.name_id?
race1 (2004-02-04 16:46:00) [6]
спасибо!
Ega23 (2004-02-04 16:45:00) [7]
На уровне Select выбрать
Select T1.NAme, T2.Name from Table1 T1, Table2 T2
where T1.ID=T2.ID