我有兩個表,其結構如下。 將數據透視表作爲子查詢的結果集 - MSSQL
和
,我想從一個這樣的查詢結果。
CUSTOMER_CODE | CUSTOMER_NAME | LINE 1 | LINE 2 | LINE 3
我們必須將第一個表作爲關鍵點,但不確定。 請指教。 感謝
我有兩個表,其結構如下。 將數據透視表作爲子查詢的結果集 - MSSQL
和
,我想從一個這樣的查詢結果。
CUSTOMER_CODE | CUSTOMER_NAME | LINE 1 | LINE 2 | LINE 3
我們必須將第一個表作爲關鍵點,但不確定。 請指教。 感謝
這是一個動態的條件聚合目前還沒有表名稱,所以TABLE1涉及到圖像1
Declare @SQL varchar(max)=''
Select @SQL = @SQL+',[Line '+cast([Line#] as varchar(25))+']=max(case when [Line#]='+cast([Line#] as varchar(25))+' then EMail else '''' end)'
From (Select Distinct [Line#] from Table1) A
Order By [Line#]
Select @SQL='
Select A.Customer_Code
,B.Customer_Branch_Name'[email protected]+'
From Table1 A
Join Table2 B
on A.Customer_Code=B.Customer_Branch
Group By A.Customer_Code,B.Customer_Branch_Name'
Exec(@SQL)
返回
謝謝約翰。您的查詢看起來很有前途,因爲它會返回我需要的確切數據。其實我需要使用鏈接服務器來運行這個查詢。我根據我的服務器和表名稱編輯它,但得到語法錯誤。請在https://dl.dropboxusercontent.com/u/37107813/query.txt查找我的查詢,因爲由於評論框長度限制,我無法在此過去查詢。 – Ans
@你可能必須將整個sql包裝在鏈接服務器上的一個openquery()或存儲過程中,請查看http://blog.falafel.com/t-sql-creating-dynamic-pass-through-queries-for -use與 - OPENQUERY / –
你嘗試什麼?即使錯誤,您也可以發佈查詢 –
線路如何連接到第二個結果集?只是一個隨機順序? –
其實我正在如何開始。我在數據庫中表現不好,但我得到了一個線索,我們需要將第一個錶轉換爲樞軸,以便其行可以按列轉換。休息我不知道如何。 – Ans