我有這樣的代碼:有什麼方法可以通過文本列進行分組嗎?
select CAST(OPERATOR_NAME AS NVARCHAR(MAX)) as 'Utilizador',
TERMINAL_DESCRIPTION as 'Terminal',
DOCUMENT_DATE as 'Data de Inicio',
PAYMENT_LIMIT_DATE as 'Data de Fim',
ORIGIN_WAREHOUSE_NAME as 'Loja',
DOCUMENT_TYPE_DESCRIPTION as 'Tipos de Documentos'
from MRD_DOCUMENT_HEADER
GROUP BY CAST(OPERATOR_NAME AS NVARCHAR(MAX))
但它給我這個錯誤:
Column
MRD_DOCUMENT_HEADER.TERMINAL_DESCRIPTION
is invalid in the select list because it is not contained in either an aggregate function or theGROUP BY
clause.
我試圖VARCHAR(100)
和MAX
但也不能工作。
我該如何得到這個工作?
更新
SELECT DISTINCT
Utilizador = OPERATOR_NAME
, Terminal = TERMINAL_DESCRIPTION
, [Data de Inicio] = DOCUMENT_DATE
, [Data de Fim] = PAYMENT_LIMIT_DATE
, Loja = ORIGIN_WAREHOUSE_NAME
, [Tipos de Documentos] = DOCUMENT_TYPE_DESCRIPTION
FROM dbo.MRD_DOCUMENT_HEADER
WHERE
MRD_DOCUMENT_HEADER.DOCUMENT_TYPE_DESCRIPTION = (@DOCUMENT_TYPE_DESCRIPTION)
OR MRD_DOCUMENT_HEADER.DOCUMENT_DATE = (@DOCUMENT_DATE)
OR MRD_DOCUMENT_HEADER.PAYMENT_LIMIT_DATE =(@PAYMENT_LIMIT_DATE)
OR MRD_DOCUMENT_HEADER.CORPORATION_ID = (@CORPORATION_ID)
我真的很喜歡這個解決方案,我只是不想重複OPERATOR_NAME(對不起之前不提) –
@Devart它有很多行數據。例如,OPERATOR_NAME的Name_LastName重複了很多次。但我想這是不可能的,因爲每個人都與DOCUMENT_DATE有聯繫,並且這個專欄對每個OPERATOR_NAME都有不同的值。 –
認爲SQL Server是一種使用SELECT來提取所需數據的工具。然後,您決定如何使用報告構建器顯示數據。 – tezzo