- ベストアンサー
複数表からのカウントを教えてください
<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 )
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 ベタですが・・・、 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行じゃないようなデータなら、これではダメですよ。 (^^ゞ
その他の回答 (1)
- taka_tetsu
- ベストアンサー率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
お礼
いろいろ書き方があるのですね。ありがとうございました
お礼
1行なので大丈夫です。ありがとうございました