當前位置:首頁 » 編程語言 » sql查詢結果列變行
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查詢結果列變行

發布時間: 2022-09-02 14:29:40

『壹』 sql語句: 多表查詢結果列轉行(並分組)

select t1.AUTOID,t2.AUTOID,t2.KEYWORD_EN from TAB_INFORMATION_KEYWORD t1
join TAB_KEYWORD_DICTIONARY t2 on t1.AUTOID = t2.AUTOID
我用的是MSSQL的內部連接,我沒用例子實踐過,希望這對你有點提示.大家一起學習

『貳』 SQL查詢結果列轉行

你這個結果是什麼意思,這也不是列轉行吧

『叄』 sql語句怎麼把列變成行

create table rotatetable1 (序號 int,company char(66),box_weight char(12),廢塑料numeric(10,2)),廢五金 numeric(10,2)),廢鋼鐵 numeric(10,2)),廢紙 numeric(10,2)),廢有色 numeric(10,2)),廢纖維 numeric(10,2)),其它 numeric(10,2)),合計 numeric(10,2)));
insert into rotatetable1(company,box_weight) select name ,'weight' from sum1 group by name;
insert into rotatetable1(company,box_weight) select name ,'box' from sum1 group by name;
update rotatetable1 set 廢塑料=box from sum1as a where a.name=rotatetable1.company and box_weight='box' and hsname='廢塑料';
update rotatetable1 set 廢塑料=weight from sum1as a where a.name=rotatetable1.company and box_weight='weight' and hsname='廢塑料';
::: :::
update rotatetable1 set 其它=box from sum1as a where a.name=rotatetable1.company and box_weight='box' and hsname='其它';
update rotatetable1 set 其它=weight from sum1as a where a.name=rotatetable1.company and box_weight='weight' and hsname='其它';
::: :::
update rotatetable1 set 合計=廢塑料+廢五金+廢鋼鐵+廢紙+廢有色+廢纖維+其它;

(所有涉及表的行列轉換均可按照這種方式實現。)

『肆』 SQL 怎樣將查詢出某列的多行數據,變為一行顯示 通過SQL語句查詢出結果 AutoID cT

你好,你看看參考一下。

DECLARE@tTABLE(idint,valuevarchar(10))
INSERT@tSELECT1,'出國'
UNIONALLSELECT2,'回國'

SELECT[values]=STUFF((REPLACE(REPLACE((SELECTvalueFROM@tFORXMLPATH('')),'<value>',','),'</value>','')),1,1,'')

『伍』 sql 查詢出一列內容,如何讓它成一行顯示。

進行行轉列下面是相關語法等

PIVOT 用於將列值旋轉為列名(即行轉列),在 SQL Server 2000可以用聚合函數配合CASE語句實現
PIVOT 的一般語法是:PIVOT(聚合函數(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的語法,使用需修改資料庫兼容級別(在資料庫屬性->選項->兼容級別改為 90 )
SQL2008 中可以直接使用
完整語法:

table_source

PIVOT(

聚合函數(value_column)

FOR pivot_column

IN(<column_list>)

)

View Code
UNPIVOT 用於將列明轉為列值(即列轉行),在SQL Server 2000可以用UNION來實現

完整語法:

table_source

UNPIVOT(

value_column

FOR pivot_column

IN(<column_list>)

)

『陸』 怎麼樣將sql查詢出來的多行數據變成一行多

怎麼樣將sql查詢出來的多行數據變成一行多
sql查詢結果如果只有一條,就會顯示一行,行數代表了結果數,列數的多少取決於你所查詢的欄位數。

『柒』 sql語句列轉行

我整理的行轉列的問題:

--創建tb表
createtabletb(姓名varchar(10),課程varchar(10),分數int)
insertintotbvalues('張三','語文',74)
insertintotbvalues('張三','數學',83)
insertintotbvalues('張三','物理',93)
insertintotbvalues('李四','語文',74)
insertintotbvalues('李四','數學',84)
insertintotbvalues('李四','物理',94)
go

select*Fromtb

--SQLSERVER2000靜態行轉列
select姓名as姓名,
max(case課程when'語文'then分數elsenullend)語文,
max(case課程when'數學'then分數elsenullend)數學,
max(case課程when'物理'then分數elsenullend)物理
fromtb
groupby姓名

--SQLSERVER2000動態SQL,指課程不止語文、數學、物理這三門課程。(以下同)
declare@sqlvarchar(8000)
set@sql='select姓名'
select@sql=@sql+',max(case課程when'''+課程+'''then分數else0end)['+課程+']'
from(selectdistinct課程fromtb)asa
set@sql=@sql+'fromtbgroupby姓名'
exec(@sql)

--SQLSERVER2005靜態SQL。
select*from(select*fromtb)apivot(max(分數)for課程in(語文,數學,物理))b

--SQLSERVER2005動態SQL。
declare@sqlvarchar(8000)
select@sql=isnull(@sql+'],[','')+課程fromtbgroupby課程
set@sql='['+@sql+']'
exec('select*from(select*fromtb)apivot(max(分數)for課程in('+@sql+'))b')

希望對你的學習有幫助。

『捌』 如何把Sql的列值變成行值

比如:有張學生成績表(tb)如下:
Name Subject Result
張三 語文74
張三 數學83
張三 物理93
李四 語文74
李四 數學84
李四 物理94

代碼如下:
create table tb
(
Name varchar(10) ,
Subject varchar(10) ,
Result int
)

insert into tb(Name , Subject , Result) values(張三 , 語文 , 74)
insert into tb(Name , Subject , Result) values(張三 , 數學 , 83)
insert into tb(Name , Subject , Result) values(張三 , 物理 , 93)
insert into tb(Name , Subject , Result) values(李四 , 語文 , 74)
insert into tb(Name , Subject , Result) values(李四 , 數學 , 84)
insert into tb(Name , Subject , Result) values(李四 , 物理 , 94)
go

『玖』 SQL 怎麼將列改為行顯示

姓名 課程 分數

張三 語文 74

張三 數學 83

張三 物理 93

李四 語文 74

李四 數學 84

李四 物理 94

姓名 語文 數學 物理

李四 74 84 94

張三 74 83 93

select 姓名 as 姓名 ,

max( case 課程 when '語文' then 分數 else 0 end) 語文,

max( case 課程 when '數學' then 分數 else 0 end) 數學,

max( case 課程 when '物理' then 分數 else 0 end) 物理

from tb

group by 姓名
參照寫一下

『拾』 怎麼sql語句實現把查詢結果的一列並為一行顯示

光靠
SQL語句
是辦不到的。因為一條SQL你查詢的時候默認的就是返回的一個表格的形式,
如果想要得到你要的效果的話當然程序裡面是很容易辦到的,
但是如果你是只靠SQL來完成的話那麼你就要寫個簡單的
存儲過程
了這樣就能滿足你的條件了