Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Объединение двух запросов (число прочтений - 5942 )
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Объединение двух запросов
Ответ #15 - 18. Апреля 2008 :: 10:55
Печать  
zeek писал(а) 18. Апреля 2008 :: 10:46:
реквизит "Цвета1" тип "Справочник.Цвета"
и есть справочник "Соотвествия" с реквизитом "Соответствие" тип "Справочник"

Ну вот и нашёлся ответ!  Подмигивание
Попробуй так во вложенном запросе:
Код
Выбрать все
SELECT ($ВидСправочника.Цвета + $Соответствия.Соответствие) 

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


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 16. Апреля 2008
Re: Объединение двух запросов
Ответ #16 - 18. Апреля 2008 :: 11:05
Печать  
Если ты имел ввиду так

|SELECT Товары.ID as [Элемент $Справочник.Товары]
|FROM
|      $Справочник.Товары as Товары
|WHERE
|      $Товары.Цвета1 IN (SELECT ($ВидСправочника.Цвета + $Соответствия.Соответствие)
|      FROM $Справочник.Соответствия as Соответствия
|      WHERE
|            UPPER(Соответствия.DESCR) Like "+Шаблон("'%[ВРег(Стр)]%'")+")"

то результат State 22018, native 245, message [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ' 134     1   ' to a column of data type int.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Объединение двух запросов
Ответ #17 - 18. Апреля 2008 :: 11:09
Печать  
А $ВидСправочника36 ?
  
Наверх
 
IP записан
 
zeek
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 16. Апреля 2008
Re: Объединение двух запросов
Ответ #18 - 18. Апреля 2008 :: 11:11
Печать  
без ошибок но результат тот же  Печаль
  
Наверх
 
IP записан
 
zeek
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 16. Апреля 2008
Re: Объединение двух запросов
Ответ #19 - 18. Апреля 2008 :: 12:04
Печать  
что вариантов больше нет?
  
Наверх
 
IP записан
 
zeek
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 16. Апреля 2008
Re: Объединение двух запросов
Ответ #20 - 18. Апреля 2008 :: 12:50
Печать  
Может я вообще не в ту сторону пошел. Мне надо по наименованиям нескольких справочников получать список реквизитов и по этому списку искать товар соответствующий этим реквизитам. При попытке перечислить несколько справочников во вложеном запросе выдал ошибку "Only one expression can be specified in the select list when the subquery is not introduced with EXISTS"
  
Наверх
 
IP записан
 
zeek
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 16. Апреля 2008
Re: Объединение двух запросов
Ответ #21 - 18. Апреля 2008 :: 13:15
Печать  
Получается что-то вроде этого
Код
Выбрать все
			|SELECT Товары.ID as [Элемент $Справочник.Товары]
			|FROM
			|	$Справочник.Товары as Товары
			|	LEFT JOIN $Справочник.Цвета AS Цвета ON Цвета.ID = $Товары.Цвета1 OR Цвета.ID = $Товары.Цвета2
			|	LEFT JOIN $Справочник.ГруппыТканей as ГруппыТканей ON ГруппыТканей.ID = $Товары.ГруппаТканей1 OR ГруппыТканей.ID = $Товары.ГруппаТканей2
			|		OR ГруппыТканей.ID = $Товары.ГруппаТканей3
			|	LEFT JOIN $Справочник.Направление as Направление ON Направление.ID = $Товары.Направление1 OR Направление.ID = $Товары.Направление2
			|		OR Направление.ID = $Товары.Направление3
			|	LEFT JOIN $Справочник.ХарактеристикиТканей as ХарактеристикиТканей ON ХарактеристикиТканей.ID = $Товары.Характеристика1 OR ХарактеристикиТканей.ID = $Товары.Характеристика2
			|		OR ХарактеристикиТканей.ID = $Товары.Характеристика3 OR ХарактеристикиТканей.ID = $Товары.Характеристика4 OR ХарактеристикиТканей.ID = $Товары.Характеристика5
			|		OR ХарактеристикиТканей.ID = $Товары.Характеристика6 OR ХарактеристикиТканей.ID = $Товары.Характеристика7
			|WHERE
			|	UPPER(Цвета.DESCR) Like "+Шаблон("'%[ВРег(Стр)]%'")+" OR
			|	UPPER(ГруппыТканей.DESCR) Like "+Шаблон("'%[ВРег(Стр)]%'")+" OR
			|	UPPER(Направление.DESCR) Like "+Шаблон("'%[ВРег(Стр)]%'")+" OR
			|	UPPER(ХарактеристикиТканей.DESCR) Like "+Шаблон("'%[ВРег(Стр)]%'")+"";
 


если поиск идет по одному слову то все ОК, но если их больше одного то находит только по первому, хотя по отдельности находит.
  
Наверх
 
IP записан
 
zeek
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 16. Апреля 2008
Re: Объединение двух запросов
Ответ #22 - 18. Апреля 2008 :: 13:27
Печать  
Проверил пару раз все-таки вышеуказанный вариант рабочий осталось каким-то боком добавить еще справочник "Соостевтствия"  тудаже. Соль вся в том что в этом справочнике может находится любой элемент из уже перечисленных в запросе справочников.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать