如何将列显示为行 [英] How to display Columns into Rows
问题描述
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.
推荐答案
我不知道如何将列显示为行(...)
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屋!