Вниз
Скачать: CL | DM;

Помогите создать SQL-запрос, заменяющий индексы   Найти похожие ветки 

← →
sergg ©   (2004-01-08 22:14) [0]

Уважаемые мастера!
Существует таблица 1, описывающая определенные
события с объектами описанными в таблице 2.
В таблице 1, в поле "Объект" хранятся значения
из поля счетчика таблицы 2, однозначно определяющие
объект (типа идентификатор :)).
При запросе скажет SELECT * FROM таблица 1
в поле "Объект" оказываются конечно же циферки -
идентификаторы (1,2,3...)
Можно ли сформулировать такой SQL-запрос, чтобы
на выходе получить вместо этих циферок любое
поле из таблицы 2 - например название объекта???
А то приходится делать массивы и заниматься
заменой программно :(((


← →
Mike_Goblin ©   (2004-01-09 08:33) [1]

RTFM joins
inner join
left outer join etc

Вариант 1
select t2.* from table1 t1
inner join table2 t2 on
t1.table2Id = t2.Id

Вариант 2
select t2.* from table1 t1, table2 t2
where t2.Id = t1.table2Id

Заранее прошу прощения за ошибки, очень хочется спать


← →
sergg ©   (2004-01-09 15:37) [2]

Спасибо, все работает :)
Кроме случая, когда в Таблице 1 ДВА разных поля
ссылаются на ОДНУ таблицу, присоединяемую
через inner join :)


← →
Johnmen ©   (2004-01-09 15:41) [3]

left(right) join


← →
Desdechado ©   (2004-01-09 15:41) [4]

справочник пиши тогда 2 раза в запросе
select t.cod1, s1.name, t.cod2, s2.name
from TBL t, Sprav s1, Sprav s2
where t.cod1 = s1.cod AND t.cod2 = s2.cod


← →
sergg ©   (2004-01-09 16:43) [5]

Глупый вопрос: а что должно быть вместо Sprav?


← →
sergg ©   (2004-01-09 16:54) [6]

При использовании LEFT JOIN и RIGHT JOIN
в результате все равно получаются все
возможные комбинации полей,
как если бы было два INNER JOINA"a
или я чего-то не догоняю :(?


← →
sniknik ©   (2004-01-09 17:01) [7]

Операция LEFT JOIN используется для создания левого внешнего объединения. Левое внешнее объединение включает все записи из первой (левой) таблицы, даже если нет совпадающих значений для записей из второй (правой) таблицы.

Операция RIGHT JOIN используется для создания правого внешнего объединения. Правое внешнее объединение включает все записи из второй (правой) таблицы, даже если нет совпадающих значений с записями из первой (левой) таблицы.


← →
Desdechado ©   (2004-01-09 18:11) [8]

Sprav - это тот справочник (таблица), на которую ссылаются 2 поля в таблице tbl


← →
sergg ©   (2004-01-09 23:43) [9]

Спасибо, попробуем :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
4-2406
TuronixL
2003-11-25 18:37
2004.02.02
Проблемы с CreateProcess


11-2054
Denis
2003-05-13 20:56
2004.02.02
err.dcu


1-2219
Grinder
2004-01-20 00:35
2004.02.02
DaysBetween аналог


1-2063
LordBTR
2004-01-20 12:11
2004.02.02
Потоки. Почему не работает код?


8-2232
Шишкин Илья
2003-09-26 13:17
2004.02.02
Изменение уровня низких и высоких частот




   Наверх