0

私は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

4

1 に答える 1