我正在编写一个 C# WinForm 应用程序,数据显示在 DataGridView 中。
表格示例
ITEMNO|VALUE|OPTFIELD
Item 1|A|LOCATION
Item 1|25|STOCKQTY
Item 2|B|LOCATION
Item 2|10|STOCKQTY
我目前在 DGV 中显示的内容
PARTNUMBER | LOCATION
Item 1 | A
我想显示什么
PARTNUMBER|LOCATION|STOCKQTY
Item 1 | A | 25
我正在考虑将查询修改为;
SELECT ITEMNO, VALUE, OPTFIELD, OPTFIELD AS STOCKQTY
FROM ICITEMO
WHERE ITEMNO = 'Item 1' and OPTFIELD LIKE 'LOCATION1' and OPTFIELD LIKE 'STOCKQTY'
但这不会返回任何结果
由于数据包含在一列中,尽管来自一列,但如何在单独的列中显示单独的值?
您可以使用简单的枢轴,如下所示:
select * from #youritem
pivot (max(value) for optfield in ([LOCATION],[STOCKQTY])) p
你的输出:
+--------+----------+----------+
| itemno | LOCATION | STOCKQTY |
+--------+----------+----------+
| Item 1 | A | 25 |
| Item 2 | B | 10 |
+--------+----------+----------+
您的输入表:
create table #youritem (itemno varchar(10), value varchar(5), optfield varchar(20))
insert into #youritem
(ITEMNO,VALUE, OPTFIELD ) VALUES
('Item 1','A ','LOCATION')
,('Item 1','25','STOCKQTY')
,('Item 2','B ','LOCATION')
,('Item 2','10','STOCKQTY')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句