我有一个列名为 ExDescription,Code,Week00,QtySold 的表。 Week00 列包含 Week1,week2,week3,week4等值... Week53 。
现在,我需要编写一个查询来将 Week00 值打印为列名称及其值来自SUM(QtySold)。我尝试过类似下面的内容,但没有达到结果。
select * from week_report1
pivot (SUM (QtySold) for week_00 in ([Week1],
[Week2],
[Week3],
[Week4],
[Week5],
[Week6],
[Week7],
[Week8],
[Week9],
.........
[Week52],
[Week53])) as MaxIn
where Code in ('99');
答案 0 :(得分:1)
不确定这是否适合您,但请尝试一下。(if(isset($_POST['submitted']))
{
//or you can store it in session also.so that you can redirect it from anywhere.
if($fgmembersite->Login())
{
$fgmembersite->RedirectToURL($comingFrom);
}
}
的
MySQL
答案 1 :(得分:1)
Oracle安装程序:
CREATE TABLE table_name (
ExDescription VARCHAR2(20),
Code INT,
Week00 VARCHAR2(6),
QtySold INT
);
-- Some random data:
INSERT INTO table_name ( ExDescription, Code, Week00, QtySold )
SELECT DBMS_RANDOM.STRING('X',10),
99,
'Week' || LEVEL,
ROUND( DBMS_RANDOM.VALUE(0,101)-0.5)
FROM DUAL
CONNECT BY LEVEL <= 53;
SELECT * FROM table_name;
EXDESCRIPTION CODE WEEK00 QTYSOLD
-------------------- ---------- ------ ----------
V01WLMUC50 99 Week1 74
MT0HLG35FH 99 Week2 53
QSXPKDNDPO 99 Week3 0
...
<强>查询强>:
SELECT *
FROM ( SELECT Code, Week00, QtySold FROM table_name WHERE code = 99 )
PIVOT ( SUM( QtySold ) FOR Week00 IN (
'Week1' AS Week1,
'Week2' AS Week2,
'Week3' AS Week3
-- ...
) );
<强>输出强>
CODE WEEK1 WEEK2 WEEK3
---------- ---------- ---------- ----------
99 74 53 0