Главная страница
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.015 c
2-1180337637
Rimd
2007-05-28 11:33
2007.06.24
TDownloadUrl и его Event


2-1180700096
Kolan
2007-06-01 16:14
2007.06.24
Программа что-то делает, как попасть на код где это происходить.


11-1163603498
SysError
2006-11-15 18:11
2007.06.24
http://www.kolnmck.ru/files/242a/kol_mck.7z


15-1179975610
Sergey Masloff
2007-05-24 07:00
2007.06.24
Посоветуйте кофигурацию компьютера


2-1181028970
RomanLN
2007-06-05 11:36
2007.06.24
После заполнения комб списка в конце остаються пустые строки