私はmysqlデータベースに次のテーブルを持っています
a_ad_display
id | advId |
a_mediatype
id | mediaId
1 | animation
2 | Video
3 | Image
a_advertise
advId | mediatypeId | organizationId
今私が欲しいのは、advertise テーブルの organizationId="some specific id " に登録されている advId のカウントで a_ad_display から advId のすべてのレコードを取得し、そのメディア タイプでグループ化することです。
私は次のクエリでこれを達成しました....
SELECT COUNT(a.advertiseId) as Total ,m.medianame
FROM a_mediatype as m
JOIN a_advertise as a ON a.mediaTypeId = m.mediaId
JOIN a_ad_display as ad ON ad.advId = a.advertiseId
where a.organizationId in(SELECT t.organizationId
FROM organization_ AS t JOIN organization_ AS p ON t.treePath LIKE CONCAT( p.treePath, '%')
where p.organizationId ='37423') GROUP BY m.medianame
しかし、私の出力は次のようになります
medianame | count
animation | 92
Images | 103
つまり、a_ad_display に特定の整理 ID を持つビデオ タイプ advId がないことを意味します...
しかし、私が欲しいのは次のようなものです...
medianame | count
animation | 92
video | 0
Images | 103
つまり、特定のメディアタイプからのアドバイスがない場合、カウントが 0 の出力にも表示されます。
誰でもこの問題で私にいくつかのガイダンスを与えることができますか?
私のSQLフィドルのデモを参照して ください http://sqlfiddle.com/#!2/391a2/11