Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Вывод одного поля дважды


Автор: grimmy 4.1.2009, 18:17
Есть таблица street в ней два поля id и name, есть вторая таблица route, в ней три поля id,  street_one, street_two. Поля street_one, street_two хранят в себе ID соответствующих значений в таблице street. 
Задача: Вывести в запросе талицу route заменив поля street_one, street_two на соответствующие значения name из таблицы street.  Пробовал 
Код
select route.id, street.name, street.name from street, route where (street.id = route.street_one) and (street.id = route.street_two)
. Естественно не получилось.

Автор: Akella 4.1.2009, 22:24
arr_exp кросс-таблица, как у тебя route

arr_exp состоит из трёх полей: id, id_arr, id_exp

EXPENSE - расход
ARRIVAL - приход

Код

SELECT EX.*, F.NAME
FROM arr_exp t1
LEFT JOIN arr_exp T2
ON (t1.ID_ARR = T2.ID_exp)
LEFT JOIN EXPENSE ex
ON (EX.id = t1.ID_EXP)
LEFT JOIN ARRIVAL arr
ON (arr.id = t1.ID_ARR)
LEFT JOIN FILIALS F
ON (EX.ID_FILIAL = F.ID)
where t1.ID_ARR = :MAS_ID

Автор: grimmy 5.1.2009, 02:10
Сделал =) 
Код

select route.id, t1.name, t2.name from route, street t1, street t2 where (t1.id = route.street_one) and (t2.id = route.street_two)

Спасибо за пример!

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