我想從查詢中選擇的表中獲取所有字段,即使字段中不包含任何值(值爲null或空值)。以下是我寫的查詢。如何獲取sql server 2008中的所有字段
SELECT (
SELECT T1.[CarrierCode_Destination] AS '@CarrierCode_Destination',
T1.[CarrierCode_Destination_Address] AS
'@CarrierCode_Destination_Address',
T1.[CarrierCode_Destination_Address1] AS
'@CarrierCode_Destination_Address1',
T1.[CarrierCode_Destination_Address2] AS
'@CarrierCode_Destination_Address2',
T1.[CIMtrek_RegContact] AS '@CIMtrek_RegContact',
T1.[CIMtrek_CarrierContact] AS '@CIMtrek_CarrierContact',
[T1].[CIMtrek_AdditionalContacts] AS
'@CIMtrek_AdditionalContacts'
FROM (
SELECT CD.[CIMtrek_DestinationName]
CarrierCode_Destination,
CD.[CIMtrek_DestinationAdd]
CarrierCode_Destination_Address,
CD.[CIMtrek_DestinationAdd_1]
CarrierCode_Destination_Address1,
CD.[CIMtrek_DestinationAdd_2]
CarrierCode_Destination_Address2,
CD.[CIMtrek_RegContact] CIMtrek_RegContact,
CD.[CIMtrek_CarrierContact] CIMtrek_CarrierContact,
CD.[CIMtrek_AdditionalContacts]
CIMtrek_AdditionalContacts
FROM CIMtrek_SystemTable_DatawareHouse CD
WHERE LEN(
LTRIM(
RTRIM(ISNULL(LTRIM(RTRIM(CD.[CIMtrek_DestinationName])), ''))
)
) != 0
) AS T1
FOR XML PATH('Record'),
TYPE
) FOR XML PATH('CarrierCode_Destination'),
TYPE
結果我得到的是
<CarrierCode_Destination>
<Record CarrierCode_Destination="8S - San Fran" CarrierCode_Destination_Address="SAN FRANCISCO - Redistribution" CarrierCode_Destination_Address1="4025 Whipple Road, " CarrierCode_Destination_Address2="Union City CA 94587" CIMtrek_RegContact="RDC San Francisco" />
<Record CarrierCode_Destination="8G - St Louis" CarrierCode_Destination_Address="ST. LOUIS - Redistribution" CarrierCode_Destination_Address1="126 Enterprise Drive, " CarrierCode_Destination_Address2="Wentzville MO 63385" CIMtrek_RegContact="RDC St Louis" />
<Record CarrierCode_Destination="V8 PHO/CYPR/CUST/TL " />
</CarrierCode_Destination>
,但我想所有這一切都在查詢中選擇的字段。如果你看到結果,它會給我有價值的字段,並省略沒有值的字段。
如何做到這一點,請大家幫忙。
問候
你檢查空值不會產生屬性你可以先強制所有空值從選擇對你的原始數據表中返回
NULL
問題:HTTP://計算器。 com/questions/4402703/t-sql-2005-passing-null-values-through-xml-datatype? – heikkim有一個['XSINIL'選項](http://msdn.microsoft.com/en-us/library/ms190922.aspx),但它只能用'ELEMENTS'指定,我認爲它會改變形狀您的查詢 –