【发布时间】:2016-10-07 00:26:37
【问题描述】:
我有 3 张桌子:
place (placeId,placeName,...)
event (eventId, eventName,...)
picture (pictureId,associateId,picturePath,type [1 place 2 event])
这就是我想要的:
当图片类型为1时图片.associateId=place.placeId 返回路径
当图片类型为2时图片.associateId=event.eventId 返回路径
1 个地点 -> 很多活动
1 个地点 -> 一张图片
1 个事件 -> 一张图片
可能是这样的(请帮助):
SELECT Place.placeName, Picture.picturePath, Event.eventId, ... FROM Place INNER JOIN Event ON Place.placeId = Event.eventPlace INNER JOIN Picture ON (IF Picture.type=1 return Picture.picturePath ELSE Picture.type=2 return Picture.picturePath)
此咨询返回给我一个 json 以在页面上显示与日期相关的事件:
SELECT Place.placeName, Place.placePopularity, Picture.picturePath, Event.eventId, Event.eventCount
FROM Place INNER JOIN Picture ON Place.placeId = Picture.associateId
INNER JOIN Event ON Place.placeId = Event.eventPlace
WHERE Picture.type = 2 AND Event.eventDate = '$date'
ORDER BY Event.eventCount DESC
【问题讨论】:
-
请使用 SHOW CREATE TABLE 添加您的表格
-
1个地方可以有很多活动,1个地方/活动只能有1张图片
-
请提供所有三个表的一些示例数据。另外,请向我们展示如果您要在该示例数据上运行 SQL 输出,您期望它的输出是什么。
-
我已尝试格式化您的问题,但我仍然无法理解,尤其是“这就是我想要的”部分。请尽量使用圆句 - 如果您的英语不是很好,这不是问题,尽管至少遵循these 拼写规则可以大大改善您的帖子。