SQLの一部の作業でちょっとしたことがあります。基本的には、私は3つのテーブルを持っています:(注:「番号」は本のID番号であると考えられています、繰り返す数字は同じ本を意味します。簡潔)複数のテーブル内のSQLの異なる値
表A:
Number Name Surname
1 Bob Bobinson
1 Paul Paulster
2 Simon Simones
3 Anton Antonio
etc.
表B:
Number Book
1 Taken
1
1
2 Taken
2 Taken
3
3 Taken
3 Taken
etc.
表C:
Number Pages
1 245
2 147
3 512
etc.
私がしなければならないのは、名前と姓のそれぞれが表Bでその番号が繰り返された回数を数え、それぞれの合計ページ数を数えることです。 回答テーブルは次のようになります。
SELECT Name, Surname, Count(A.Number = B.Number) FROM A, B, C;
ええ、私は正直なところでしょう:
Bob Bobinson 3 735
Paul Paulster 3 735
Simon Simones 2 294
Anton Antonio 3 1536
が、私はこのような何かを試してみました、私はそれが見えるように必要なものは絶対見当もつかない。後でA.Number = B.Numberを実装しようとしましたが、うまくいきません。どんな助けでも大歓迎です。
P.S. 「取られた」とは、後で、どの番号が最も大きいかを調べるためのものです。
今日のヒント:現代的で明示的な 'JOIN'構文に切り替える! – jarlh
BobとPaulが同じIDを共有するのはなぜですか? – jarlh
@ jarlh彼らは本の共同作者であり、数字は別の本を指していますが、ここでは表を読みやすくするために変更しました。 – Anstane