2017-01-31 3 views
0

Мой код как этотОшибка записи SQL динамического запроса

DECLARE @QueryText as NVARCHAR(MAX); 

SET @QueryText= 'select '"' + m.MACHINE_STREET + '"' AS MACHINE_LOCATION, 
A.Country_Code AS Country, 
(SELECT mibcp.REMARKS FROM tblMachineContact mibcp 
where mibcp.mc_machine_pkey=m.pkey and mibcp.CONTACT_CATEGORY_PKEY=''IR'') AS REMARKS 
       from tblMachine m inner join tblAddress A 
on m.Address_Pkey=A.Pkey 
       where m.Site= ''TSN''' 

EXEC sp_Machine_Location,NULL,NULL,NULL,@QueryText 

При выполнении этого динамического запроса я получаю сообщение об ошибке в запросе к югу.

(SELECT mibcp.REMARKS  
    FROM tblMachineContact mibcp 
WHERE mibcp.mc_machine_pkey=m.pkey  
    AND mibcp.CONTACT_CATEGORY_PKEY=''IR'') AS REMARKS. 

Как этого избежать?

+0

какие ошибок вы получаете? – anatol

+0

также нужен тег DBMS – anatol

+0

Какая СУБД вы используете? –

ответ

0

Это, вероятно, приведет к тому, что часть подзапроса ниже будет возвращена более 1 записи, и вы на самом деле должны были выбрать 1 запись в строке.

(SELECT mibcp.REMARKS FROM tblMachineContact mibcp 
where mibcp.mc_machine_pkey=m.pkey and mibcp.CONTACT_CATEGORY_PKEY=''IR'') AS REMARKS 

Вы, вероятно, можете сделать ваш запрос как

select m.MACHINE_STREET AS MACHINE_LOCATION, 
A.Country_Code AS Country, 
mibcp.REMARKS 
FROM tblMachineContact mibcp 
join tblMachine m on mibcp.mc_machine_pkey = m.pkey 
inner join tblAddress A on m.Address_Pkey = A.Pkey 
where m.Site = 'TSN' 
and mibcp.CONTACT_CATEGORY_PKEY = 'IR' 
+0

Мне нужно получить contact_category_pkey = IR в подзапросе, чтобы он возвращал результат, если Есть ли какие-либо значения, если в противном случае он вернет значение null.Если я добавлю эту часть в условие, она будет отображать Contact_category как IR, что не является моим требованием. Я буду извлекать множество категорий, но мне нужны замечания только для IR. – LT268

+0

Любое предложение? – LT268

 Смежные вопросы

  • Нет связанных вопросов^_^