Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос на добавление доп. поля из другой таблицы  [new]
ReMmIk
Member

Откуда:
Сообщений: 4
Всем привет!

Нужно добавить еще 1 поле в запрос. Сейчас у нас есть прайс-лист, который берется из 1 таблицы. Нужно добавить еще 1 столбец из другой таблицы (номер телефона клиента).

select описание,Клиент,Цена_за_м2,
epv9.ExtParamValue as площадь_общая_м2
,Стоимость_объекта,Дата_гос_регистрации, Статус_покупки from 
Tasks as t1
join
(select 
t.Description as описание
, epv1.extparamvalue as Клиент
, epv3.extparamvalue as Статус_покупки
, epv4.extparamvalue as Цена_за_м2
, epv5.extparamvalue as Стоимость_объекта
, epv6.extparamvalue as Дата_гос_регистрации
, s.Description as статус
, t.TaskID
, epv8.SelectedTaskId as объект
 
 from Tasks as t 

left join extparamvalues as epv1 on t.taskid=epv1.taskid
left join extparamvalues as epv3 on t.taskid=epv3.taskid
left join extparamvalues as epv4 on t.taskid=epv4.taskid
left join extparamvalues as epv5 on t.taskid=epv5.taskid
left join extparamvalues as epv6 on t.taskid=epv6.taskid
left join extparamvalues as epv7 on t.taskid=epv7.taskid
left join extparamvalues as epv8 on t.taskid=epv8.taskid
left join States as s on t.StateID=s.StateID


where 
t.SubcatID = 11 
and epv1.extparamid = 62 
and epv3.extparamid = 602
and epv4.extparamid = 596
and epv5.extparamid = 92
and epv6.extparamid = 112
and epv7.extparamid = 60 and epv7.SelectedTaskId = 9
and s.StateID <> 2
and epv8.ExtParamID=87
) as j1
on t1.TaskID=j1.Клиент
left join ExtParamValues as epv9 on t1.TaskID=epv9.TaskID
where 
t1.SubcatID=7
and epv9.ExtParamID=27


SubCatID = 7 = как раз категория "Клиент"
ExtParamID = 27 - телефон, который и нужно вывести

Вроде бы все верно, но выдает ошибку: Conversion failed when converting the varchar value 'Фамилия Имя Отчетство клиента' to data type int.

И тут вопрос: или я неправильно строю запрос или как решить данную ошибку в данном примере?


Версия: Microsoft SQL Server 2014 - 12.0.2370.0 (X64)
11 дек 14, 00:07    [16980823]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на добавление доп. поля из другой таблицы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
ReMmIk
Вроде бы все верно, но выдает ошибку: Conversion failed when converting the varchar value 'Фамилия Имя Отчетство клиента' to data type int.

Это тут: on t1.TaskID=j1.Клиент

В EAV модели такое бывает

Нужно писать convert(varchar, t1.TaskID) = j1.Клиент
Или использовать другое поле для соединения, не j1.Клиент, а j1.TaskID (не знаю вашей модели данных)
11 дек 14, 01:20    [16981004]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить