Предупреждение: odbc_fetch_array () [Microsoft] [Библиотека курсоров ODBC] в инструкции SELECT есть предложение GROUP BY

Я пытаюсь сделать запрос с подзапросом, который объединяет результаты многих строк в одну, в SQL Server.

Когда я запускаю его в Microsoft SQL Server Management Studio, он прекрасно работает!

Запрос выполняется в Microsoft SQL Server Management Studio

Но делая тот же запрос с PHP, я получаю это предупреждение:

Предупреждение: odbc_fetch_array (): ошибка SQL: [Microsoft] [Библиотека курсоров ODBC] в инструкции SELECT есть предложение GROUP BY, состояние SQL SL005 в SQLGetData

SQL:

SELECT CONVERT(VARCHAR(7),[Ficha_Tecnica].DataEntrega,111) as DataEntrega,
[Ficha_Tecnica].CodigoCliente,
[Ficha_Tecnica].CodTipoServico,
count(*) as Contagem,
[Ficha_Tecnica].NumeroOs,
(SELECT CAST([Cartoes].Produto + ',' AS VARCHAR(400))
FROM [Cartoes]
WHERE [Cartoes].NumeroOS = [Ficha_Tecnica].NumeroOs
ORDER BY [Cartoes].Produto
FOR XML PATH('') ) AS Produto2 FROM Ficha_Tecnica  WHERE 1=1  and  Ficha_Tecnica.DataEntrega   >=  '2016-01-19'
and  Ficha_Tecnica.DataEntrega   <=  '2016-09-27'
GROUP BY CONVERT(VARCHAR(7),[Ficha_Tecnica].DataEntrega,111)
, [Ficha_Tecnica].CodigoCliente
, [Ficha_Tecnica].CodTipoServico
, [Ficha_Tecnica].NumeroOs
ORDER BY CONVERT(VARCHAR(7),[Ficha_Tecnica].DataEntrega,111) asc

Моя версия PHP 5.6.19

SQL Server 2012

Кто-нибудь знает, что может происходить?
Спасибо!

-1

Решение

Я наконец нашел проблему и решение!
После четырех часов попыток!

Я решил проблему создания CAST для столбца, который я делал подзапросом:

CAST(
(SELECT CAST([Cartoes].Produto + ',' AS VARCHAR(400))
FROM [Cartoes]
WHERE [Cartoes].NumeroOS = [Ficha_Tecnica].NumeroOs
ORDER BY [Cartoes].Produto
FOR XML PATH('') )

AS VARCHAR(1000)) AS Produto2

Что происходит, так это то, что что-то не так происходит, когда мы получаем слишком большой столбец с SQL Server с PHP, например, столбцы типа «Текст» или «VARCHAR (MAX)»!

Итак, это все!

Tnx!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]