我已经在MySQL表下表中多个表与其他映射条目列数SQL查询用于获取
a_ad_display
╔═══════╦══════════╗
║ ADVID ║ ADTYPEID ║
╠═══════╬══════════╣
║ 1 ║ 1 ║
║ 2 ║ 1 ║
║ 3 ║ 4 ║
║ 3 ║ 3 ║
║ 2 ║ 2 ║
║ 1 ║ 4 ║
║ 1 ║ 3 ║
║ 4 ║ 1 ║
║ 4 ║ 1 ║
╚═══════╩══════════╝
a_mediatype
╔═════════╦═══════════╗
║ MEDIAID ║ MEDIANAME ║
╠═════════╬═══════════╣
║ 1 ║ Animation ║
║ 2 ║ video ║
║ 3 ║ Image ║
╚═════════╩═══════════╝
a_ad_type
╔══════════╦════════╗
║ ADTYPEID ║ ADTYPE ║
╠══════════╬════════╣
║ 1 ║ e Ad ║
║ 2 ║ b Ad ║
║ 3 ║ c Ad ║
║ 4 ║ d Ad ║
╚══════════╩════════╝
a_advertise
╔═══════╦═════════╗
║ ADVID ║ MEDIAID ║
╠═══════╬═════════╣
║ 1 ║ 1 ║
║ 2 ║ 1 ║
║ 3 ║ 2 ║
║ 4 ║ 3 ║
╚═══════╩═════════╝
现在我想获取如下...
adType | Image | video | Animation
eAd | 0 | 2 | 2 ...
b Ad |...
c Ad |...
d Ad |.....
和聪明一样为所有我adtype,详情要data..can请人指导我该...
THS是什么,我都试过...
SELECT Distinct
at.adtype,
COUNT(IF(am.medianame = 'Animation',1,0)) AS Animation,
COUNT(IF(am.medianame = 'Video',1,0)) AS Video,
COUNT(IF(am.medianame = 'Image',1,0)) AS Image
FROM a_ad_type as at
LEFT JOIN a_ad_display as ad ON at.adtypeId = ad.adtypeId
LEFT JOIN a_advertise as adv ON adv.advertiseId = ad.advId
LEFT JOIN a_mediatype as am ON am.mediaId = adv.mediaTypeId
GROUP BY at.adtype
这些表格是如何相互关联的? – 2013-02-14 05:20:51
这不是提问的方式。你知道关于sql连接吗?你的背景是什么?你有什么尝试? – jurgenreza 2013-02-14 05:35:45
请参阅我的问题...用我的旧查询..这不会给我正确的结果 – 2013-02-14 05:38:05