我有两个表:Place
和Discount
,具有N< - > N关系。我还有一个名为place_discount
的表,它有两个外键(idPlace
和idDiscount
)。
当我向某个地方添加折扣时,例如一个酒吧的折扣,我把它添加到place_discount表。
所以我的问题是:我有一个在该数据库上查询的Android应用程序。当我想列出我加载的所有地方时,我想在有折扣的人身上显示明星。列出我做了select * from place
。有没有办法进行查询?
提示:我无法使用触发器,因为我没有超级权限。
答案 0 :(得分:0)
为什么不使用加入?
SELECT
Place.*,
IF(IFNULL(MIN(place_discount.idDiscount),0)>0,1,0) AS hasDiscount
FROM place
LEFT JOIN place_discount ON Place.id=place_discount.idPlace
GROUP BY Place.id
如果可以打折,会在hasDiscount
给你一个,如果没有,则为0。
旁注:您不需要对您拥有的表上的触发器拥有超级权限。