Запуск самой последней версии PHP под самой последней сборкой WAMPserver.
База данных - SQL Server 2005
Вот запрос, который я сейчас выполняю, который работает. Что я хочу сделать, это изменить вывод с:
CorrectionsCount , Employee , Date
1 , Joe , 02/12/2012
31 , Barbara , 02/13/2012
12 , Paula , 02/16/2012
На что-то вроде этого
[EMPLOYEE NAME], 02/12/2012, 02/13/2012, 02/16/2012
Joe , 31 , 0 , 0
Barbara , 0 , 31 , 0
Paula , 0 , 0 , 12
Код:
<?php
// connect to DSN
$DP2connect = odbc_connect("DB", "USER", "PWORD") or die ("Could not connect to
server");
$DP2query = "
SELECT SUM(CorrectionsCount),CorrectionUser,
convert(char(10), DateHourCorrected, 120)
FROM ISIImageCorrections
WHERE DateHourCorrected BETWEEN '$theDate1' AND '$theDate2'
GROUP BY CorrectionsCount,CorrectionUser,DateHourCorrected
";
$DP2result2 = odbc_exec($DP2connect, $DP2query);
odbc_result_all($DP2result2, 'id="results"');
?>
$ thedate1 и $ thedate2 - это переменные, помещаемые на эту страницу с помощью средства выбора календаря с другой страницы PHP.
ОБНОВЛЕНИЕ: я попытался запустить функцию COALESCE, описанную ниже, но она генерирует синтаксическую ошибку рядом с ключевым словом «FROM» (второй экземпляр «FROM» в этом выражении). Я правильно ввожу это?
$DP2connect = odbc_connect("dp2_database", "DP2", "DP2Express!") or die ("Could not connect to
server");
$DP2query =
"WITH T
AS(
SELECT CorrectionUser, CorrectionsCount, DateHourCorrected
FROM ISIImageCorrections
)
SELECT CorrectionUser,
COALESCE([02/12/2012], 0) AS [02/12/2012],
COALESCE([02/13/2012], 0) AS [02/13/2012],
COALESCE([02/16/2012], 0) AS [02/16/2012],
FROM T
PIVOT(SUM(CorrectionsCount) FOR [Date] IN([02/12/2012], [02/13/2012], [02/16/2012])) AS P";
$DP2result2 = odbc_exec($DP2connect, $DP2query);
odbc_result_all($DP2result2, 'id="results"');