java - 获得用户喜爱的高效 SQL 查询
问题描述
我有三张桌子
USER
OFFER
USER_FAV_OFFER
User fav offer 包含要加入的用户 id 和 offer id。我可以通过加入获得用户最喜欢的优惠。但我的问题是我需要所有优惠,而这些优惠也检测它是否已被收藏。
我可以进行两个查询并在两个循环之间使用迭代,我可以获得结果,但我认为这不是一种有效的方法。任何好的建议如何用最喜欢的标志获得所有优惠。
编辑:
select * from tbl_offer
left outer join tbl_user_book_marks on tbl_offer.id= tbl_user_book_marks.offer_id
左外连接对我不起作用,它给了我多余的结果。我也无法进行分组,因为我需要此查询中的书签标志。
解决方案
下面的查询对我有用
select is_bookmarked, tbl_offer.* from tbl_offer
left outer join tbl_user_book_marks on tbl_offer.id= tbl_user_book_marks.offer_id
and tbl_user_book_marks.user_info_id = USERID
用户 ID 将从 ui 传递。
推荐阅读
- c# - 如何在不更改先前值的情况下在列表中附加值
- c - 如何将多个整数的列表转换为c中的单个整数?
- android - 如何将文本编辑值分配给 Android Studio Kotlin 中的浮点变量
- flexbox - fxflex 如何根据内容获取 div 大小
- sql-server-2008 - 选择哪一个 - SQL Server 中的游标与 WHILE 循环以获得更好的性能?
- php - UNION ALL 的数组绑定问题
- huggingface-transformers - 使用令牌特征训练模型
- java - CodenameOne 浮动操作按钮绑定错误
- spring-boot - 使用 spring boot kotlin 实现示例 Togglz
- php - 路由资源在 Laravel 8.x 中不起作用