2つのテーブルを1つのテーブルに保存します。例えば、私がスマートフォンを提供するエントリのように。
各エントリにはさらに質問があります。たとえば、顧客やサプライヤのチャットなど。
この質問は2番目のテーブルに保存されます。それぞれの質問は「エントリID」を取得します。
今私はのすべてのエントリーを得たいと思いますし、各エントリーのすべての質問を一つの値として数えます。たとえばについては
:
idで接続された2番目のテーブルからすべての行を数え、最初のテーブルの右側の行に値を追加します。
id |title | desc | questionscount
1 |samsung s7.. | smartphone bla bla | 11
2 |samsung s6.. | bla bla bla | 5
3 |samsung s5.. | bla bla | 0
本当に近い私は私のSQLを単純化し、私はイムと思う:
SELECT
e.id, e.uid, e.tmstmp, e.title, e.desc, questioncount
FROM
entrys e
INNER JOIN
(
SELECT eid, COUNT(id) as questioncount
FROM question
WHERE eid = e.id
) q
- 'where句'
中>不明な列 'e.id' を私は "on"のように "inner"でそれらを結合しようとしました:
ON q.eid = e.id
などですが、すべての行が選択されているわけではなく、questioncountがeid = e.idに関係なくすべての質問から値を取得するわけではありません。
サブクエリを使用するか、join with group byを使用します。 – RRK