急,急,急。。sql行变列问题
/*
--求一行变列的SQL语句或存储过程--
-------------------------------
-原始表数据如下-----------------
--------------------------
Name Value Date
------ ------ ----------
A1 553 2011-02-19
A1 663 2011-02-18
A2 223 2011-02-19
A2 557 2011-02-18
A3 723 2011-02-19
A3 235 2011-02-18
B1 246 2011-02-18
B1 223 2011-02-19
B1 245 2011-02-20
B2 642 2011-02-19
B2 246 2011-02-18
C1 525 2011-02-19
C1 744 2011-02-18
C1 245 2011-02-20
--------------------------
现在我想把行变为列,需要得到下面这样的效果:
---------------------------------------------------------------
A1 A2 A3 B1 B2 C1 Date
------ ------ ------ ------ ------ ------ ----------
533 223 723 223 642 525 2011-02-19
663 557 235 246 246 744 2011-02-18
NULL NULL NULL 245 NULL 245 2011-02-20
---------------------------------------------------------------
还需要可以根据Name和Date查询,比如我只想要查询[Name]='A1'和'A2'并且[Date]在'2011-02-20'之前的数据,
就是下面这样的效果:
--------------------------
A1 A2 Date
------ ------ ----------
663 557 2011-02-18
533 223 2011-02-19
--------------------------
用SQL 语句或者存储过程都可以
*/
--求一行变列的SQL语句或存储过程--
-------------------------------
-原始表数据如下-----------------
--------------------------
Name Value Date
------ ------ ----------
A1 553 2011-02-19
A1 663 2011-02-18
A2 223 2011-02-19
A2 557 2011-02-18
A3 723 2011-02-19
A3 235 2011-02-18
B1 246 2011-02-18
B1 223 2011-02-19
B1 245 2011-02-20
B2 642 2011-02-19
B2 246 2011-02-18
C1 525 2011-02-19
C1 744 2011-02-18
C1 245 2011-02-20
--------------------------
现在我想把行变为列,需要得到下面这样的效果:
---------------------------------------------------------------
A1 A2 A3 B1 B2 C1 Date
------ ------ ------ ------ ------ ------ ----------
533 223 723 223 642 525 2011-02-19
663 557 235 246 246 744 2011-02-18
NULL NULL NULL 245 NULL 245 2011-02-20
---------------------------------------------------------------
还需要可以根据Name和Date查询,比如我只想要查询[Name]='A1'和'A2'并且[Date]在'2011-02-20'之前的数据,
就是下面这样的效果:
--------------------------
A1 A2 Date
------ ------ ----------
663 557 2011-02-18
533 223 2011-02-19
--------------------------
用SQL 语句或者存储过程都可以
*/
...全文


疑难问题
