• ベストアンサー
  • 暇なときにでも

複数表からのカウントを教えてください

  • 質問No.1126873
  • 閲覧数93
  • ありがとう数3
  • 回答数2

お礼率 88% (64/72)

<table A>
no name
1 yoshida
2 tanaka

<table B>
no sub score
1 german 100
1 english 100
1 science 50

tableAとtableBの2つの表があり
1 yoshidaさんが100点をとった科目の数を
(ここでは2となります)
カウントしたいのですが以下の_________で
どのように入力したらいいでしょうか
先週から始めたばかりで表の入力はできるよう
になったのですがカウントのしかたがよく
わかりません
よろしくお願いします

SELECT
tableA.no as No,
tableA.name as Name,
___________________
FROM tableA, TableB
where(tableA.no = tableB.no
and tableB.score = 100
and tableB.no = 1
)

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 47% (436/922)

こんばんは。

ベタですが・・・、

SELECT A.no, A.name, C.cnt
FROM A,
(SELECT COUNT(*) AS cnt FROM B WHERE score = 100 AND no = 1) AS C
WHERE A.no = 1

一応取れますが、あくまでもご記載のデータ構造を参考にしてます。
Aの結果が1行じゃないようなデータなら、これではダメですよ。
(^^ゞ
お礼コメント
arumisoy

お礼率 88% (64/72)

1行なので大丈夫です。ありがとうございました
投稿日時:2004/12/14 20:30

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 65% (1020/1553)

惜しいです。
集計してあげましょう。

select count(*), tableA.no as No, tableA.name as Name
FROM tableA, TableB
where(tableA.no = tableB.no
and tableB.score = 100
and tableB.no = 1
)
group by tableA.no, tableA.name
お礼コメント
arumisoy

お礼率 88% (64/72)

いろいろ書き方があるのですね。ありがとうございました
投稿日時:2004/12/14 20:34
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ