ジョブタイプが「N」で、出版社のクレジットコードが「C」の書籍ジョブ情報をリストしようとしています。次に、前のクエリの出力の各行に対して、po (テーブル pos からの購入注文) の総数のカウントを追加します。group by を使用して、そのカウントのみに適用し、残りのクエリには適用できませんか? 結合を使用する必要がありますか? これまでの私の試みは成功していません。これらは私が使用しているテーブルです:
bookjobs:
+--------+---------+----------+
| job_id | cust_id | jobtype |
+--------+---------+----------+
publishers:
+---------+------------+------------+
| cust_id | name | creditcode |
+---------+------------+------------+
pos:
+--------+-------+------------+-----------+
| job_id | po_id | po_date | vendor_id |
+--------+-------+------------+-----------+
これは私が思いついたものですが、間違っています(カウントはjob_idにグループ化されていません):
select b.*, (select count(*) from pos o) as count
from bookjobs b, publishers p, pos o
where b.cust_id=p.cust_id
and b.job_id=o.job_id
and b.jobtype='N'
and p.creditcode='C';
カウントをjob_idでグループ化する必要があると思いますが、残りのクエリは必要ありません。これは可能ですか、それとも結合を使用する必要がありますか? いくつかの結合を試みましたが、何も機能しませんでした。どんな助けでも感謝します。