私は2つのテーブル= subjects
とstats
を持っています。私は弾力user_id
(2のように)正しい真/偽の回数を、(対象テーブルから)すべての科目を取得し、もののために、彼は(統計から)行うために、たとえば、必要なもの他のテーブルのカウント値
-- subjects --
------------------
| id | name |
------------------
| 1 | subjecta |
| 2 | subjectb |
| 3 | subjectc |
| 4 | subjectd |
| 5 | subjecte |
| 6 | subjectf |
| 7 | subjectg |
| 8 | subjecth |
| 9 | subjecte |
| ... | subjectf |
------------------
-- stats --
-----------------------------------
| user_id | subject_id | correct |
-----------------------------------
| 1 | 1 | false |
| 1 | 1 | false |
| 1 | 2 | false |
| 4 | 3 | false |
| 4 | 4 | false |
| 4 | 5 | false |
| 2 | 1 | true |
| 2 | 1 | true |
| 2 | 2 | false |
| 2 | 2 | true |
| 2 | 3 | false |
---------------------------------
のようなこれは:
--------------------------------------------------
| id | name | correct true | correct false|
----------------------------------|----------------
| 1 | subjecta | 2 | 0 |
| 2 | subjectb | 1 | 1 |
| 3 | subjectc | 0 | 1 |
| 4 | subjectd | 0 | 0 |
| 5 | subjecte | 0 | 0 |
| 6 | subjectf | 0 | 0 |
| 7 | subjectg | 0 | 0 |
| 8 | subjecth | 0 | 0 |
| 9 | subjecte | 0 | 0 |
| ... | subjectf | 0 | 0 |
----------------------------------|--------------|
私はこれをどうするべきかわかりません。
は思えます。 – ollie
すばらしい答えに感謝します。 ollieは、この返信は、ユーザーが統計情報を取得している科目からの行のみを示しています。私は科目からすべての行が欲しい。 私は 'correct_true、 SUM(CASE WHEN t1.correct =「falseと t2.id、 t2.name、 SUM(CASE t1.correct = 'true' をTHEN ELSE 1 0 END)を選択するように変更してみてください被験者からAS correct_false 'THEN 1 ELSE 0 END)が LEFTは統計t2.id = t1.subject_id ONをt1のJOIN t2のWHERE t2.id、t2.name'同じもの – AlainIb
BY t1.user_id = 2 GROUP @ AlainIb '被験者'から '統計情報 'への' LEFT JOIN'を行います。これにより、選択した個々のユーザーごとに常にすべての件名が表示されるようにする必要があります。申し訳ありませんが、RextesterとSQLFiddleの両方で問題が発生しているため、テストはできません。 –