0

ここは初めてなので、質問がややこしくてすみません。SQL テーブルから取得したデータを使用して動的テーブルに表示しようとしていますが、ロジックを理解するのに苦労しています。

テーブル構造はこんな感じ

NAME   Homeruns  Hits    Bunts   Total

Jeff       0       3       1       4

Sally      2       4       0       6

John       3       7       0       10

テーブル内のデータは、プレーの種類 (ホームラン、ヒット、バントなど) が 1 つの列になるように構成されています。このコラムを PLAY と呼びます。名前は別の列にあります。この列は NAME と呼ばれます。テーブル名はBASEBALLです。

4

1 に答える 1

3

これは、ピボット クエリと呼ばれます。集計を使用して標準 SQL でこれを行うことができます。

select name,
       sum(case when play = 'HomeRun' then 1 else 0 end) as HomeRun,
       sum(case when play = 'hit' then 1 else 0 end) as Hit,
       sum(case when play = 'bunt' then 1 else 0 end) as Bunt,
       count(*) as Total
from baseball bb
group by name;

これは非常に単純な SQL クエリなので、データベース側の専門知識はプログラミング側よりも少ないと思います。時間をかけて SQL 言語を適切に学習することをお勧めします。

于 2013-07-05T14:42:21.490 に答える