第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

支點(diǎn)動(dòng)態(tài)列,沒有聚合

支點(diǎn)動(dòng)態(tài)列,沒有聚合

支點(diǎn)動(dòng)態(tài)列,沒有聚合我有調(diào)查問卷的數(shù)據(jù),SQLServer 2008,我想轉(zhuǎn)到一個(gè)矩陣。我看到了幾篇關(guān)于同一個(gè)話題的帖子,但我就是沒有興趣。表如下:Question tableAnswer tableCustomer table各欄:[CustomerID], [QuestionName_1], .., [QuestionName_n] <- 動(dòng)態(tài)問題欄數(shù)目)數(shù)據(jù):CustomerID, Answer_1, .., Answer_n檢索列的代碼:DECLARE @columns VARCHAR(8000)SELECT @columns = COALESCE(@columns + ',[' + cast(QuestionName as varchar) + ']', '[' + cast(QuestionName as varchar)+ ']')FROM Answer A  INNER JOIN Question Q ON A.QuestionID = Q.QuestionIDINNER JOIN Customer C ON A.CustomerID = C.CustomerIDGROUP B Y Q.QuestionNameSET @columns = '[CustomerID],' + @columnsDECLARE @query VARCHAR(8000)SET @query = 'Some PIVOT query without  aggregation'EXECUTE(@query)最初的查詢思想是從帶動(dòng)力柱的樞軸.可以這樣做嗎?旋轉(zhuǎn)查詢會(huì)是什么樣的呢?PS:我不想使用排名與最大的列數(shù)。問候,米歇爾
查看完整描述

1 回答

?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

是的,您可以執(zhí)行動(dòng)態(tài)支點(diǎn)。有時(shí)更容易計(jì)算出PIVOT首先使用靜態(tài)版本進(jìn)行查詢,這樣您就可以看到查詢和結(jié)果將如何出現(xiàn)。然后將查詢轉(zhuǎn)換為動(dòng)態(tài)版本。

下面是查詢的靜態(tài)版本和動(dòng)態(tài)版本的示例:

靜態(tài)(SQL Fiddle):

select *from (
    select u.userid,
        u.fname,
        u.lname,
        u.mobile,
        r.question,
        r.choice    from users u    left join results r        on u.questionid = r.questionid        
        and u.choiceid = r.choiceid) xpivot(
    min(choice)
    for question in([are you], [from])) p

動(dòng)態(tài)(SQL Fiddle):

DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX)SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.question) 
            FROM results c            FOR XML PATH(''), TYPE            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')set @query = 'SELECT userid, fname, lname, mobile, ' + @cols + ' from 
            (
                select u.userid,
                    u.fname,
                    u.lname,
                    u.mobile,
                    r.question,
                    r.choice
                from users u
                left join results r
                    on u.questionid = r.questionid
                    and u.choiceid = r.choiceid
           ) x
            pivot 
            (
                min(choice)
                for question in (' + @cols + ')
            ) p 'execute(@query)

如果您可以提供關(guān)于當(dāng)前表結(jié)構(gòu)的更多詳細(xì)信息,然后提供一些示例數(shù)據(jù)。我們應(yīng)該能夠幫助您創(chuàng)建適合您的情況所需的版本。

不過,正如我所說的,有時(shí)從靜態(tài)版本開始比較容易,在靜態(tài)版本中,首先需要轉(zhuǎn)換列中的硬代碼,然后再轉(zhuǎn)到動(dòng)態(tài)版本。


查看完整回答
反對(duì) 回復(fù) 2019-07-05
  • 1 回答
  • 0 關(guān)注
  • 482 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)