SQL查询返回
cid Sid SalesName Ratio Price Amount
1 01 Mike 11 80 120
1 11 Salier 10 70 90
3 04 Amy 8 60 200
3 01 Mike 25 110 600
我希望它在datagridview或sql查询
上显示如下cid Mike_Price Mike_Amount Balance Salier_Price Salier_Amount Balance Amy_Price Amy_Amount
1 80 120 40 70 90 20 0 0
3 110 600 490 0 0 0 60 200
答案 0 :(得分:0)
为了显示您想要的内容,您必须编写返回第二个语句的查询。从你的桌子看,这似乎是不可能的。
答案 1 :(得分:0)
如果您使用的是SQL Server(> 2005),您可以考虑在SQL端进行转移。 一般语法是:
SELECT
[non-pivoted column], -- optional
[additional non-pivoted columns], -- optional
[first pivoted column],
[additional pivoted columns]
FROM (
SELECT query producing sql data for pivot
-- select pivot columns as dimensions and
-- value columns as measures from sql tables
) AS TableAlias
PIVOT
(
<aggregation function>(column for aggregation or measure column) -- MIN,MAX,SUM,etc
FOR [<column name containing values for pivot table columns>]
IN (
[first pivoted column], ..., [last pivoted column]
)
) AS PivotTableAlias
ORDER BY clause -- optional
这将以您正在寻找的格式创建数据,并且可以直接显示。
这是一个很好的教程:
http://www.kodyaz.com/articles/t-sql-pivot-tables-in-sql-server-tutorial-with-examples.aspx