2013-09-10 2 views
0

Я пытаюсь добавить столбцы вместе, чтобы получить в общей сложности в конце каждого столбца, я искал эту тему и попытался сделать то, что он сказал, но получил ошибкуДобавление столбцов в PHP

У вас есть ошибка в синтаксисе SQL; проверьте, что соответствует вашей версии сервера MySQL для правильного синтаксиса для использования рядом с «SELECT SUM (Sea) FROM PlayerStats; FROM SeasonStats WHERE SeasonStats.PlayerID =»в строке 2

Я довольно новый на этом и не могу понять, как заставить его работать. Любая помощь будет принята с благодарностью.

$oPlayerStats = mysql_query(" 
SELECT SeasonStats.Sea, SeasonStats.Team, SeasonStats.GP, SeasonStats.Goals,  SeasonStats.Assists, SeasonStats.Points, SeasonStats.PlusMinus, SeasonStats.Pim, SeasonStats.PP, SeasonStats.SH, SeasonStats.GW, SeasonStats.GT, SeasonStats.S 
SELECT SUM(Sea) FROM PlayerStats; 
FROM SeasonStats 
WHERE SeasonStats.PlayerID=$iPlayerID 
ORDER BY SeasonStats.Sea; 
") or die(mysql_error()); 

echo "<br><br><table border=1 cellpadding=1>"; 

echo "<tr>"; 
echo "<td>Season</td> "; 
echo "<td>Team</td> "; 
echo "<td>GP</td> "; 
echo "<td>G</td> "; 
echo "<td>A</td> "; 
echo "<td>P</td> "; 
echo "<td>PIM</td> "; 
echo "<td>+/-</td> "; 
echo "<td>PPG</td> "; 
echo "<td>SHG</td> "; 
echo "<td>GWG</td> "; 
echo "<td>GTG</td> "; 
echo "<td>Shots</td> "; 

while($row = mysql_fetch_array($oPlayerStats)) 
{ 
echo "<tr>"; 
echo "<td>".$row['Sea']."</td> "; 
echo "<td>".$row['Team']."</td> "; 
echo "<td>".$row['GP']."</td> "; 
echo "<td>".$row['Goals']."</td> "; 
echo "<td>".$row['Assists']."</td> "; 
echo "<td>".$row['Points']."</td> "; 
echo "<td>".$row['Pim']."</td> "; 
echo "<td>".$row['PlusMinus']."</td> "; 
echo "<td>".$row['PP']."</td> "; 
echo "<td>".$row['SH']."</td> "; 
echo "<td>".$row['GW']."</td> "; 
echo "<td>".$row['GT']."</td> "; 
echo "<td>".$row['S']."</td> "; 
$result = mysql_query('SELECT SUM(Sea) AS value_sum FROM codes'); 
    $row = mysql_fetch_assoc($result); 
    $sum = $row['value_sum']; 
+0

Просто чтобы быть ясно, что я хочу, чтобы добавить столбцы как GP, цели, Assits и т.д. –

+0

Ваше название говорит, что вы хотите, чтобы вычислить итог для определенное количество в php, но ваш пример показывает, что вы пытаетесь сделать это в SQL с ошибочным SQL-запросом. Я думаю, ваш вопрос должен быть, почему запрос вызывает ошибку. – Pankrates

+0

. Непосредственная проблема, вызвавшая ошибку, которую вы упомянули, заключается в том, что вы помещаете 'SELECT SUM (Sea) FROM PlayerStats;' в середине вашего первого запроса. Просто удалите его. Теперь, если вы хотите, чтобы решение MySql для вашей проблемы, вы должны публиковать схемы таблиц для обеих таблиц, образцы данных и желаемый результат на основе этого. – peterm

ответ

0

Я не знаю, что ваш DB схемы, как, но вы можете изменить свой первоначальный запрос, как это:

SELECT SeasonStats.Sea, SeasonStats.Team, SeasonStats.GP, SeasonStats.Goals, 
SeasonStats.Assists, SeasonStats.Points, SeasonStats.PlusMinus, SeasonStats.Pim, 
SeasonStats.PP, SeasonStats.SH, SeasonStats.GW, SeasonStats.GT, SeasonStats.S, 
SUM(SeasonStats.Sea) as total  
FROM PlayerStats 
    INNER JOIN SeasonStats ON PlayerStats.PlayerID = SeasonStats.PlayerID 
WHERE SeasonStats.PlayerID = $iPlayerID 
ORDER BY SeasonStats.Sea; 

Вы также можете составить несколько столбцов в SQL с помощью GROUP BY CLAUSE.

0

Вы получили сводный запрос, смешанный в запросе на выбор строк. Вы должны удалить эту строку - первый запрос должен быть просто:

SELECT SeasonStats.Sea, SeasonStats.Team, SeasonStats.GP, SeasonStats.Goals, 
    SeasonStats.Assists, SeasonStats.Points, SeasonStats.PlusMinus, 
    SeasonStats.Pim, SeasonStats.PP, SeasonStats.SH, SeasonStats.GW, 
    SeasonStats.GT, SeasonStats.S 
FROM SeasonStats 
WHERE SeasonStats.PlayerID=$iPlayerID 
ORDER BY SeasonStats.Sea; 
Смежные вопросы