Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизПомогите создать 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 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c