Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Помогите с соединениями (число прочтений - 14552 )
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #30 - 15. Ноября 2007 :: 12:22
Печать  
Я ж тебе писал что такое соединение со справочником не прокатит
  
Наверх
ICQ  
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #31 - 15. Ноября 2007 :: 12:35
Печать  
Я помню. Но как же его по другому сделать?
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #32 - 16. Ноября 2007 :: 03:06
Печать  
Используй подзапрос
  
Наверх
ICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с соединениями
Ответ #33 - 16. Ноября 2007 :: 12:38
Печать  
Злой Замечание автору: для КОДА используйте теги "code":
Код
Выбрать все
	Case
     |	When Жур.IDDOCDEF=$ВидДокумента.ПриходнаяНакладная Then cast(СпрК.Descr as varchar(30))
     |	When Жур.IDDOCDEF=$ВидДокумента.ВозвратнаяНакладная Then cast(СпрК.Descr as varchar(30))
     |	When Жур.IDDOCDEF=$ВидДокумента.РозничнаяНакладная Then cast(СпрК.Descr as varchar(30))
     |	When Жур.IDDOCDEF=$ВидДокумента.ВозвратПоставщику Then cast(СпрК.Descr as varchar(30))
  

  

code.JPG ( 45 KB | Загрузки )
code.JPG
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #34 - 19. Ноября 2007 :: 09:17
Печать  
Попытался создать подзапрос, но выдает ошибку
     
Код
Выбрать все
|	Case
|	When Жур.IDDOCDEF=$ВидДокумента.ПриходнаяНакладная Then cast(СпрК.Descr as varchar(30))
|	When Жур.IDDOCDEF=$ВидДокумента.ВозвратнаяНакладная Then cast(СпрК.Descr as varchar(30))
...
|	Else cast('Не кл' as varchar(30)) End as Клиент
|	,Жур.IDDOC as [Док $Документ]
|	,Жур.IDDOCDEF as Док_вид
|From
|(SELECT
|	Рег.ПозицияДокумента as ПозицияДокумента
|FROM
|	$РегистрОстаткиОбороты.Остатки(:ДатаС, :ДатаПо~,Документ,Движения,
|	,Фирма=:выбФирма and ВидУчета=:сВидУчета"+Пер2+"
|	,(Фирма,ВидУчета,ТМЦ,Склад),(СуммаГрн,СуммаБезНДС,Наценка)) AS Рег) as Рег,
|(SELECT
|	СпрK.ID as ID
|	СпрК.Descr as Descr
|FROM
|	$Справочник.Клиенты as СпрК) as СпрК
|Inner JOIN
|	_1SJOURN AS Жур (nolock) ON Рег.ПозицияДокумента  = Жур.DATE_TIME_IDDOC
|Inner JOIN
|	$Справочник.ТМЦ AS СпрТ (nolock) ON СпрТ.ID  = Рег.ТМЦ
|Left JOIN
|	$Документ.ПриходнаяНакладная  ДПН (nolock) on (ДПН.IDDOC = Жур.IDDOC)and($ДПН.Клиент=СпрК.ID) 


Ошибка: The column prefix 'СпрК' does not match with a table name or alias name used in the query.
  
Наверх
 
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #35 - 19. Ноября 2007 :: 09:47
Печать  
Вроде существенного ничего не поменял, но выдало новую ошибку:
The correlation name 'СпрК' is specified multiple times in a FROM clause.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с соединениями
Ответ #36 - 19. Ноября 2007 :: 10:03
Печать  
Тебя просят помятять один из алиасов "СпрК"
  
Наверх
 
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #37 - 19. Ноября 2007 :: 11:53
Печать  
Убрал и вернулась ошибка: The column prefix 'СпрК' does not match with a table name or alias name used in the query.
Подскажите как от нее избавиться, и можно ли так писать запрос?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с соединениями
Ответ #38 - 19. Ноября 2007 :: 12:06
Печать  
Если честно, я вообще не понял зачем вот это:
Код
Выбрать все
(SELECT
|	СпрK.ID as ID
|	СпрК.Descr as Descr
|FROM
|	$Справочник.Клиенты as СпрК) as СпрК 

  
Наверх
 
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #39 - 19. Ноября 2007 :: 12:12
Печать  
Цитата:
Если честно, я вообще не понял зачем вот это

это нужно для того чтобы произвести соединение Справочника Клиенты и Реквизита документов
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #40 - 19. Ноября 2007 :: 12:23
Печать  
NickAn писал(а) 19. Ноября 2007 :: 12:12:
Цитата:
Если честно, я вообще не понял зачем вот это

это нужно для того чтобы произвести соединение Справочника Клиенты и Реквизита документов

Когда я тебе советовал использовать подзапрос я даже не догадовался что можно его использовать ТАК Печаль
То что ты написал смысла не имеет
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с соединениями
Ответ #41 - 19. Ноября 2007 :: 12:26
Печать  
Если я тебя правильно понимаю, то тебе нужны наименования клиентов для реквизита документа $ДПН.Клиент.
Если да, то попробуй написать так:
Код
Выбрать все
...FROM
|	$РегистрОстаткиОбороты.Остатки(:ДатаС, :ДатаПо~,Документ,Движения,
|	,Фирма=:выбФирма and ВидУчета=:сВидУчета"+Пер2+"
|	,(Фирма,ВидУчета,ТМЦ,Склад),(СуммаГрн,СуммаБезНДС,Наценка)) AS Рег) as Рег
|Inner JOIN
|	_1SJOURN AS Жур (nolock) ON Рег.ПозицияДокумента  = Жур.DATE_TIME_IDDOC
|Inner JOIN
|	$Справочник.ТМЦ AS СпрТ (nolock) ON СпрТ.ID  = Рег.ТМЦ
|Left JOIN
|	$Документ.ПриходнаяНакладная  ДПН (nolock) on (ДПН.IDDOC = Жур.IDDOC)
|LEFT JOIN $Справочник.Клиенты as СпрК on $ДПН.Клиент=СпрК.ID  

  
Наверх
 
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #42 - 19. Ноября 2007 :: 12:29
Печать  
На предыдущей странице видно, что я так уже писал, но проблема все-равно стояло. У меня дело в том, что не поодному документу нужен клиент
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #43 - 19. Ноября 2007 :: 12:33
Печать  
NickAn писал(а) 19. Ноября 2007 :: 12:29:
На предыдущей странице видно, что я так уже писал, но проблема все-равно стояло. У меня дело в том, что не поодному документу нужен клиент


Сделай шаг 1:

Напиши запрос который бы выводил ИД клиента или NULL (Если он не указан для документа) и все остальные данные - справочник клиенты в этом запросе вообще не используется
  
Наверх
ICQ  
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Помогите с соединениями
Ответ #44 - 19. Ноября 2007 :: 12:40
Печать  
Уточни.
Запрос по справочнику?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать