【发布时间】:2015-10-05 20:20:32
【问题描述】:
我正在运行以下 sql:
SELECT DISTINCT
Anvendelseskoder.[Usage Code] AS [Byggeanvendelseskode],
Anvendelseskoder.[Usage Code Value] AS [Byggeanvendelse],
HeleDanmark_DAWA.KVHx
FROM Anvendelseskoder
RIGHT JOIN HeleDanmark_DAWA
ON Anvendelseskoder.KVHx = HeleDanmark_DAWA.KVHx
WHERE HeleDanmark_DAWA.postnr=6720 AND Anvendelseskoder.[Usage Code]>0
这给了我以下输出:(新用户,无法发布图片,抱歉!)
我想要更像这样的东西:
我一直在检查这个关于 Using PIVOT and JOIN together 的问题,但我无法让它工作。谁能帮我解决这个问题?
更新: 我试图让它工作的代码,但不能让它做我想做的事:
WITH Acode
AS (SELECT
HeleDanmark_DAWA.KVHx,
Anvendelseskoder.[Usage Code],
Anvendelseskoder.[Usage Code Value]
FROM Anvendelseskoder
RIGHT JOIN HeleDanmark_DAWA
ON HeleDanmark_DAWA.KVHx = Anvendelseskoder.KVHx)
SELECT *
FROM Acode PIVOT( COUNT([Usage Code]) FOR [Usage Code Value] IN (
[Stuehus til landbrugsejendom],
[Fritliggende enfamilieshus (parcelhus).],
[Række-, kæde- eller dobbelthus (lodret adskillelse mellem enhederne).],
[Etageboligbebyggelse (flerfamiliehus, herunder tofamiliehus (vandret adskillelse mellem enhederne)).],
[Kollegium],
[Døgninstitution (plejehjem, alderdomshjem, børne- eller ungdomshjem).],
[Anden enhed til helårsbeboelse],
[Erhvervsmæssig produktion vedrørende landbrug, skovbrug, gartneri, råstofudvinding og lign.],
[Erhvervsmæssig produktion vedrørende industri, håndværk m.v. (fabrik, værksted o. lign.)],
[El-, gas-, vand- eller varmeværk, forbrændingsanstalt o. lign.],
[Anden enhed til produktion og lager i forbindelse med landbrug, industri o. lign.],
[Transport- og garageanlæg (fragtmandshal, lufthavnsbygning,banegårdsbygning o. lign.)],
[Engroshandel og lager.],
[Detailhandel m.v.],
[Pengeinstitut, forsikringsvirksomhed m.v.],
[Kontor og liberale erhverv bortset fra offentlig administration],
[Offentlig administration.],
[Hotel, restauration, vaskeri, frisør og anden servicevirksomhed.],
[Anden enhed til handel, transport etc.],
[Biograf, teater, erhvervsmæssig udstilling m.v.],
[Bibliotek, museum, kirke o. lign.],
[Undervisning og forskning (skole, gymnasium, forskningslaboratorium).],
[Hospital, fødeklinik o. lign.],
[Daginstitution.],
[Anden institution, herunder kaserne, fængsel m.v.],
[Sommerhus.],
[Enhed til ferieformål m.v. bortset fra sommerhus (feriekoloni vandrehjem o. lign.)],
[Enhed i forbindelse med idrætsudøvelse (klubhus, idrætshal, svømmehal o. lign.).],
[Kolonihavehus.],
[Anden enhed til fritidsformål.],
[Ikke tidligere vurderet erhvervsenhed i nybyggeri],
[Garage],
[Carport],
[Udhus]) ) AS pvt
17july 更新代码(我无法上班):
WITH a AS (
SELECT DISTINCT
Anvendelseskoder.[Usage Code] AS [Byggeanvendelseskode],
Anvendelseskoder.[Usage Code Value] AS [Byggeanvendelse],
HeleDanmark_DAWA.KVHx
FROM Anvendelseskoder
RIGHT JOIN HeleDanmark_DAWA
ON Anvendelseskoder.KVHx = HeleDanmark_DAWA.KVHx
WHERE HeleDanmark_DAWA.postnr=6720 AND Anvendelseskoder.[Usage Code]>0),
aa AS (SELECT a.*, row_number() over(partition by KVHx order by Byggeanvendelseskode) Nr
FROM a)
SELECT KVHx, Byggeanvendelseskode AS Kode1, Byggeanvendelse AS Anvend1,
(SELECT Byggeanvendelseskode FROM aa AS s2
WHERE s2.Nr = 2 AND s2.KVHx = aa.KVHx) AS Kode2,
(SELECT Byggeanvendelse FROM aa AS s2
WHERE s2.Nr = 2
AND s2.KVHx = aa.KVHx) AS Anvend2,
(SELECT Byggeanvendelseskode FROM aa AS s2
WHERE s2.Nr = 3 AND s2.KVHx = aa.KVHx) AS Kode3,
(SELECT Byggeanvendelse FROM aa AS s2
WHERE s2.Nr = 3 AND s2.KVHx = aa.KVHx) AS Anvend3
FROM aa AS s1
WHERE Nr = 1
【问题讨论】:
-
发布您编写的不起作用的 PIVOT 代码。
-
当然......完全忘记了那部分,对不起!
-
我现在添加了它@EricHauenstein :)
-
我尝试了一种不同的方法,因为它最多只有三个代码和描述。在主帖中称之为 code17july ..
标签: join pivot left-join sql-server-2014 dynamic-columns