3

ものからすべてを選択し、もの id = morestuff id である morestuff 内のアイテムの合計量を数えようとしています。

select *,
    COUNT(morestuff.items) as total
from stuff,
    morestuff
where stuff.id = '{$id}'
    and morestuff.id = stuff.id

明らかに私のクエリに何か問題があります。誰か助けてもらえますか?

4

2 に答える 2

3
SELECT s.*, coalesce(ms.Count, 0) as Count
FROM stuff s
left outer join (
    select id, count(*) as Count
    from morestuff
    group by id
) ms on s.id = ms.id
WHERE s.id='{$id}' 
于 2012-05-17T18:52:49.620 に答える
2

これは別のオプションかもしれません:

select
  *, (
    select count(*)
    from morestuff
    where morestuff.id = stuff.id
      ) as total
from stuff
where id = '{$id}'
于 2012-05-17T19:37:34.670 に答える