Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Проблема с соединением INNER JOIN (число прочтений - 5573 )
FIXER
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 12
Зарегистрирован: 17. Марта 2014
Re: Проблема с соединением INNER JOIN
Ответ #15 - 24. Июля 2014 :: 02:10
Печать  
leov-001 писал(а) 23. Июля 2014 :: 12:43:
Код
Выбрать все
ТекстЗапроса = "Set NoCount On
|SELECT
| $ДокС.Товар as [Товар $Справочник.Товары]
|, MAX($Товары.Бренд) as [БрендТов $Справочник.Бренды]
|, MAX($Бренды.СотрудникЗакупа) as [СотрЗакупа $Справочник.Сотрудники]
|, SUM($ДокС.Сумма) as Сумма
|FROM
|  _1SJourn as Жур WITH (NoLock)
|  INNER JOIN $Документ.ПриходнаяКредит as Док WITH (NoLock) ON Док.IDDoc = Жур.IDDoc AND $Док.ПризнакНакладной = :Закупка
|  INNER JOIN $ДокументСтроки.ПриходнаяКредит as ДокС WITH (NoLock) ON ДокС.IDDoc = Док.IDDoc
|  INNER JOIN $Справочник.Товары as Товары WITH (NoLock) ON Товары.ID = $ДокС.Товар
|  INNER JOIN $Cправочник.Бренды as Бренды WITH (NoLock) ON Бренды.ID = $Товары.Бренд
|WHERE  
|  Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND Жур.Closed & 1 = 1
|GROUP BY
|  $ДокС.Товар";
 



Всё тоже самое попробовал, как вы написали выдаёт: Meta name parser error: неизвестное метаимя или алиас "$Бренды"
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Проблема с соединением INNER JOIN
Ответ #16 - 24. Июля 2014 :: 04:02
Печать  
Ошибка возникает здесь
Код
Выбрать все
$Бренды.СотрудникЗакупа 


СотрудникЗакупа случайно не периодический
  
Наверх
 
IP записан
 
FIXER
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 12
Зарегистрирован: 17. Марта 2014
Re: Проблема с соединением INNER JOIN
Ответ #17 - 24. Июля 2014 :: 04:02
Печать  
В общем ипаться, извиняюсь за выражение, искать в чем проблема я устал и сделал с подзапросом и всё теперь работает!
      ТекстЗапроса ="
     |SELECT
     | $ДокС.Товар as [Товар $Справочник.Товары]
     |, MAX(Товары.B) as [БрендТов $Справочник.Бренды]
     |, MAX(Товары.S) as [СотрЗакупа $Справочник.Сотрудники]
     |, SUM($ДокС.Сумма) as Сумма
     |FROM
     |  _1SJourn as Жур WITH (NoLock)
     |  INNER JOIN $Документ.ПриходнаяКредит as Док WITH (NoLock) ON Док.IDDoc = Жур.IDDoc AND    $Док.ПризнакНакладной = :Закупка
     |  INNER JOIN $ДокументСтроки.ПриходнаяКредит as ДокС WITH (NoLock) ON ДокС.IDDoc = Док.IDDoc
     |  INNER JOIN (SELECT
     |      Тов.ID,
     |      $Тов.Бренд as B,
     |      $Бренды.СотрудникЗакупа as S
     |FROM
     |      $Справочник.Товары as Тов
     |INNER JOIN
     |      $Справочник.Бренды as Бренды ON Бренды.ID = $Тов.Бренд) as Товары ON Товары.ID = $ДокС.Товар
     |WHERE  
     |  Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND Жур.Closed & 1 = 1
     |GROUP BY
     |  $ДокС.Товар";

НО вопросы у меня естественно остались. Почему если я типизировал в подзапросе ($Тов.Бренд as [БрендТов $Справочник.Бренды]) у меня выдавались ошибка и что на самом деле делает эта "типизация"?
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Проблема с соединением INNER JOIN
Ответ #18 - 24. Июля 2014 :: 04:06
Печать  
($Тов.Бренд as [БрендТов $Справочник.Бренды]) - это выражаясь в терминах 1С ЭЛЕМЕНТ СПРВОЧНИКА, о чем SQL естественно не знает.
  
Наверх
 
IP записан
 
FIXER
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 12
Зарегистрирован: 17. Марта 2014
Re: Проблема с соединением INNER JOIN
Ответ #19 - 24. Июля 2014 :: 04:36
Печать  
leov-001 писал(а) 24. Июля 2014 :: 04:02:
Ошибка возникает здесь
Код
Выбрать все
$Бренды.СотрудникЗакупа 


СотрудникЗакупа случайно не периодический

Нет, не периодический
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать