我無法將MS Access數據透視錶轉換爲SQL Server。希望有人可以幫助..將訪問數據透視錶轉換爲SQL Server
TRANSFORM First(contacts.value) AS FirstOfvalue
SELECT contacts.contactid
FROM contacts RIGHT JOIN contactrecord ON contacts.[detailid] = contactrecord.[detailid]
GROUP BY contacts.contactid
PIVOT contactrecord.wellknownname
;
編輯:應對一些評論
聯繫表有三個字段
contactid | detailid | value |
1 1 Scott
contactrecord具有類似
detailid | wellknownname
1 | FirstName
2 | Address1
3 | foobar
contractrecord因爲用戶在任何時候都可以創建一個字段添加到聯繫人
接入查詢翻出
contactid | FirstName | Address1 | foobar
1 | Scott | null | null
這是對wellknownname樞軸。這裏的關鍵是列數是動態的,因爲用戶可以隨時爲聯繫人創建另一個字段。作爲新的樞軸表完全一樣,我想知道如何在sql server中重新創建這個訪問查詢。
至於變換...這是一個內置的訪問函數。有關它的更多信息here。 First()將只取得該匹配行的第一個結果。
我希望這有助於並感謝所有的幫助。
更容易幫助。如果我們看到你的數據和你期望的輸出,它也會有幫助 –
@ t-clausen.dk:從我在這裏學到的東西看來,'TRANSFORM'就是*標準命令(在MS Access中) ,並將其刪除,或者將其替換爲相應的T-SQL構造,這個問題就是這個問題。但我同意你們的例子,他們會幫助很大。 –
@Scott:並不是所有人都可以很好地瞭解MS Access *和* T-SQL,可以幫助您。 @ t-clausen.dk是正確的:發佈樣本數據和輸出結果對於我們瞭解T-SQL的人來說確實能夠幫助我們建議一個好的解決方案。 –