Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Как составить запрос   Найти похожие ветки 

 
O.O   (2007-03-30 07:34) [0]

Допустим есть таблица справочника Т1, в котором поле Field2 содержит номер записи из другой таблицы (номенклатур) Т2.
Ключевое поле у неё Field1, поле имени, которое мы хотим видеть в результирующем наборе - Field2

Составляем запрос:

 SELECT T1.Field1, T1.Field2, T2.Field2 from T1
 Join T2 on T1.Field2 = T2.Field1


А если в первой таблице не одно поле номером записи из таблицы Т2 а несколько из одной и той-же таблицы, как сделать запрос, чтоб видеть в одной строке результирующего набора расшифровку этих разных полей?


 
Sergey13 ©   (2007-03-30 08:44) [1]

> А если в первой таблице не одно поле номером записи из таблицы
> Т2 а несколько из одной и той-же таблицы, как сделать запрос,
> чтоб видеть в одной строке результирующего набора расшифровку
> этих разных полей?
Сделать несколько связей в запросе к одной и той же таблице, но по разным полям

SELECT T1.Field1, T1.Field2, T2.Field2 from T1
Join T2 T2_1 on T1.Field2 = T2.Field1
Join T2 T2_X on T1.Field_X = T2.Field1


 
ЮЮ ©   (2007-03-30 08:54) [2]

Использовать алиасы:
 SELECT bt.*, ref1.Name Ref1Name, ref2.Name Ref2Name
 FROM
   BadTable bt
   LEFT JOIN ReferenceTable ref1 ON bt.RefField1 = ref1.Id  
   LEFT JOIN ReferenceTable ref2 ON bt.RefField2 = ref2.Id



>SELECT T1.Field1, T1.Field2, T2.Field2 from T1
>Join T2 T2_1 on T1.Field2 = T2.Field1
>Join T2 T2_X on T1.Field_X = T2.Field1

В подчеркнуьых местах использовать алиасы.
З.Ы. Таблицы следует называть так, чтобы их имена не путались с сокращениями, применяемыми для имен алиасов :)


 
O.O   (2007-03-30 09:37) [3]

Ругается, не даёт присоединить одну и ту-же таблицу по одному и тому-же полю 2 раза


 
ЮЮ ©   (2007-03-30 09:41) [4]

Приведи реальный текст запроса


 
O.O   (2007-03-30 09:50) [5]


> ЮЮ ©   (30.03.07 09:41) [4]
> Приведи реальный текст запроса

Дык и не могу составить :)

Опишу задачу:
Имеется таблица предприятий и таблица документов движения.
В таблице документов движения имеются 2 поля "Предприятие поставщик" и "Предприятие получатель". Оба этих поля - значение ключевого поля таблицы предприятий.

Нужно получить результирующую таблицу документов, с названиями обеих предприятий.


 
Sergey13 ©   (2007-03-30 10:00) [6]

> [5] O.O   (30.03.07 09:50)

Так у тебя в голове что-то ругается при обдумывании запроса или конкретный текст при запуске выдает ошибки? Приведи текст, который выдает ошибки.


 
O.O   (2007-03-30 10:57) [7]


SELECT DOCS.*, FIRMA.NAME AS F_From, FIRMA.NAME AS F_To FROM DOCS
LEFT OUTER JOIN FIRMA ON DOCS.KOD_PARTNER_EXPORT = FIRMA.KOD
LEFT OUTER JOIN FIRMA ON DOCS.KOD_PARTNER_IMPORT = FIRMA.KOD

Ошибка 204
Abiguous field names between table Firma and Table Firma KOD


 
Jan   (2007-03-30 10:58) [8]


> LEFT OUTER JOIN FIRMA ON DOCS.KOD_PARTNER_EXPORT = FIRMA.
> KOD
> LEFT OUTER JOIN FIRMA ON DOCS.KOD_PARTNER_IMPORT = FIRMA.
> KOD

тебе про алиасы говорили?


 
ЮЮ ©   (2007-03-30 11:07) [9]

SELECT DOCS.*, exp.NAME AS F_From, imp.NAME AS F_To FROM DOCS
LEFT OUTER JOIN FIRMA exp ON DOCS.KOD_PARTNER_EXPORT = exp.KOD
LEFT OUTER JOIN FIRMA imp ON DOCS.KOD_PARTNER_IMPORT = imp.KOD


 
O.O   (2007-03-30 11:13) [10]

Как предлагал Sergey13

SELECT DOCS.*, FIRMA.NAME AS F_From, FIRMA.NAME AS F_To
FROM DOCS
LEFT OUTER JOIN FIRMA F_1 ON DOCS.KOD_PARTNER_EXPORT = FIRMA.KOD
LEFT OUTER JOIN FIRMA  F_2 ON DOCS.KOD_PARTNER_IMPORT = FIRMA.KOD


Тоже ошибка

Как предлагал ЮЮ - там 3 таблицы


 
O.O   (2007-03-30 11:15) [11]


> ЮЮ ©   (30.03.07 11:07) [9]

Вот как.  Теперь понял. А сначала недопёрло до меня. Спасибо !



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

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
4-1168961302
TProgrammer
2007-01-16 18:28
2007.06.24
Приоритет процессов


11-1162999391
TAHKEP
2006-11-08 18:23
2007.06.24
SelStart всегда равен 0 в KOLListBox


2-1181029853
CodeGear Delphi for Win 32
2007-06-05 11:50
2007.06.24
как распокавать zip


8-1160561120
zorgens
2006-10-11 14:05
2007.06.24
DSPack


15-1180298315
WEF
2007-05-28 00:38
2007.06.24
На чем опаснее ездить: на автомобиле или на мотоцикле?