下午好之一,行的列在SQL是列計數
我想使用CASE想在這個問題轉行列:在不過
Rows to columns SQL Server query
我案例我沒有一個列的信息,它是一個數據的計數。
我得到的數據與此查詢:查詢
select MA, SN, count(*)
from Original
where MA = 'AB'
group by MA
結果:
MA SN COUNT
AB TEXTA 6
AB TEXTB 5
AB TEXTC 3
AB TEXTD 4
表原件
MA SN
AB TEXTA
AB TEXTA
AB TEXTA
AB TEXTA
AB TEXTA
AB TEXTA
.
.
.
AB TEXTD
AB TEXTD
表結果:
MA TEXTA TEXTB TEXTC TEXTD
AB 6 5 3 4
這是我當前的查詢:
select MA,
count(*) as 'COUNT2',
MAX(CASE WHEN SN = 'TEXTA' THEN COUNT2 end) as TEXTA1,
MAX(CASE WHEN SN = 'TEXTB' THEN COUNT2 end) as TEXTB1,
MAX(CASE WHEN SN = 'TEXTC' THEN COUNT2 end) as TEXTC1,
MAX(CASE WHEN SN = 'TEXTD' THEN COUNT2 end) as TEXTD1,
from Original
where MA= 'AB'
group by MA
我在做什麼在查詢可怕的錯誤?有人可以解釋爲什麼我發佈它的問題有效,但不是與伯爵?。謝謝! :)。
什麼樣的SQL的? – podiluska
這是微軟的SQL,我沒有看到我的查詢中的拼寫錯誤,我正在編寫爲COUNT2,然後在COUNT2的情況下。如果您引用表Original,則可以通過另一個查詢獲得,並且我可以編寫任何我想要的名稱。謝謝。 – Eduardo
該問題的演示:http://www.sqlfiddle.com/#!3/0b577/2 – mellamokb