如何将列显示为行 [英] How to display Columns into Rows

查看:101
本文介绍了如何将列显示为行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello Guys。





我不知道如何将列显示为行。这是我的桌子。





Table1 = Column1,Column2,Column3,Column4



Table2 = Column1(第1行,第2行,第3行,第4行)





我要显示



Row1 = column1

Row2 = column2

Row3 = column3

Row4 = column4



谢谢。

Hello Guys.


I don't have any idea how to display the columns into rows. This is my table .


Table1 = Column1,Column2,Column3,Column4

Table2 = Column1(row1,row2,row3,row4)


I want to display

Row1 = column1
Row2 = column2
Row3 = column3
Row4 = column4

Thanks.

推荐答案

Ohmar Jay写道:
Ohmar Jay wrote:



我不知道如何将列显示为行(...)

TABLEITEMS


I don't have any idea how to display the columns into rows (...)
TABLEITEMS

ITEMNAME  STOCK1  STOCK2  STOCK3  STOCK4
TIRE      1       2       3       4





TABLEWAREHOUSE



TABLEWAREHOUSE

DESCRIPTION
SOUTH
EAST
NORTH
WEST





我想看到这样:



I WANT TO VIEW LIKE THIS:

WAREHOUSE  STOCKCOUNT
SOUTH       1
EAST        2
NORTH       3
WEST        4







首先,我强烈建议阅读:关系数据库 [ ^ ],因为 - 在我看来 - 你做错了(糟糕的桌面设计)。



如果你想实现你所描述的,你需要重新设计表格,例如:




First of all, i strongly recommend to read this: Relational database[^], because - in my opinion - you did it in wrong way (bad table design).

If you want to achieve what you described, you need to re-design your tables, for example:

CREATE TABLE #WAREHOUSE
(
	WHID INT IDENTITY(1,1), --primary key
	WHNAME VARCHAR(30)
);

INSERT INTO #WAREHOUSE(WHNAME)
VALUES('SOUTH'), ('EAST'), ('NORTH'), ('WEST');

CREATE TABLE #ITEMS
(
	ITID INT IDENTITY(1,1), --primary key
	ITEMNAME VARCHAR(50)
);

INSERT INTO #ITEMS (ITEMNAME)
VALUES('TIRE');

CREATE TABLE #ITEMSINWAREHOUSE
(
	IWID INT IDENTITY(1,1), --primary key
	ITID INT, --foreign key; relatatioship to TABLEITEMS
	WHID INT, --foreign key; relatatioship to TABLEWAREHOUSE
	STOCKCOUNT INT
);

INSERT INTO #ITEMSINWAREHOUSE (ITID , WHID, STOCKCOUNT)
VALUES(1, 1, 1), (1, 2, 2), (1, 3, 3), (1, 4, 4)

SELECT WH.WHNAME, IT.ITEMNAME, IW.STOCKCOUNT  AS STOCK
FROM #ITEMSINWAREHOUSE AS IW
	LEFT JOIN #WAREHOUSE AS WH ON IW.WHID = WH.WHID
	LEFT JOIN #ITEMS AS IT ON IT.ITID = IW.ITID 


DROP TABLE #ITEMS 
DROP TABLE #WAREHOUSE 
DROP TABLE #ITEMSINWAREHOUSE





结果:



Result:

WHNAME  ITEMNAME	STOCK
SOUTH	TIRE		1
EAST	TIRE		2
NORTH	TIRE		3
WEST	TIRE		4



注意,该示例代码使用临时表(在表名之前使用)。


最好用任何虚拟数据更新问题。

我希望你在寻找这个



http://blog.sqlauthority.com/2008/06/07/sql-server-pivot-and-unpivot-table-examples/ [ ^ ]



:)
Better you could update the Question with any Dummy data's.
I hope you are Looking For this

http://blog.sqlauthority.com/2008/06/07/sql-server-pivot-and-unpivot-table-examples/[^]

:)


这篇关于如何将列显示为行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆