0

これが私のテーブルのサンプルです(わかりやすくするために再フォーマットされています)

  Subject   Percentage  Grade
  English     40%       D
  Chemistry   80%       A
  Physics     50%       C

したがって、基本的には、このデータを取得して、次のように表現したいと考えています。

  English   Chemistry    Physics
  40%           80%        50%
  D              A          C

どうすればいいですか?ありがとう。

4

2 に答える 2

2

これを試して :

    select english , chemistry , physics from (


    select (select percentage from Table1 where subject = 'English' ) as english,
           (select percentage from Table1 where subject = 'Chemistry') as chemistry,
           (select percentage from Table1 where subject = 'Physics') as physics

    from Table1 group by english
    union all

    select (select Grade from Table1 where subject = 'English' ) as english,
           (select Grade from Table1 where subject = 'Chemistry') as chemistry,
           (select Grade from Table1 where subject = 'Physics') as physics

    from Table1 group by english
     ) t

出力:

 ENGLISH    CHEMISTRY   PHYSICS
  40%          80%        50%
   D            A          C

デモはこちら

于 2013-03-19T20:27:29.743 に答える
0

データを配列にフェッチしてから、配列をループしてテーブルの行にデータを入力します

$subject = array();
$row = mysql_fetch_row($result);
{
    $subjecta = $row[0]; 
    $marks =  $row[1];
    $grade =  $row[2];
    array_push($subject,$subjecta)
    $subject[$marks] = $grade ;
    $subject[$grade] = $marks ;

}
echo "<tr>";
foreach ($subject as $sts) 
{ 
echo "<th bgcolor='#BEBEBE'>$sts</th>"; 
}
echo "</tr>";
于 2013-03-19T19:37:33.693 に答える