1

私は2つのテーブルを持っています:

puid | personid | ptitle
----------------------------
1    | 200      | richard
2    | 201      | swiss

suid | personidref | stitle
----------------------------
1    | 200         | alf
2    | 201         | lando
3    | 200         | willis
4    | 201         | luke
5    | 201         | kojak
6    | 200         | r2-d2
7    | 201         | jabba

テーブル 2 のカウントで左結合しようとしています。使用またはサブ選択を理解しようとしましたgenerate_seriesが、構文をヌードルできません。

英語で: 表 2 の各エントリの数と共に、表 1 の各一意の人物を表示してください。

出力例:

puid | personid | ptitle  | count
---------------------------------
1    | 200      | richard | 3
2    | 201      | swiss   | 4

これは単純なサブクエリgenerate_seriesですか? 仕事に適したツールですか?

4

1 に答える 1

2
select *
from
    t1
    left join
    (
        select personidref, count(*) total
        from t2
        group by personidref
    ) s using(personidref)
order by puid

参加前に集計を行うと、後で行うよりもパフォーマンスが向上する可能性があることに注意してください。

于 2013-06-18T20:08:53.340 に答える