我有两个表
T1:
SomeHeaderArgumentResolver
T2:
public class SomeHeaderArgumentResolver implements HandlerMethodArgumentResolver {
@Override
public boolean supportsParameter(MethodParameter parameter) {
return parameter.getParameterAnnotation(SomeHeader.class) != null;
}
@Override
public Object resolveArgument(MethodParameter parameter,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest,
WebDataBinderFactory binderFactory) {
HttpServletRequest request = (HttpServletRequest) webRequest.getNativeRequest();
final String headerValue = request.getHeader("Some-Header");
if(headerValue != null){
return headerValue.replace("XXX ", "");
} else {
//handle scenario if header absent with ServletRequestBindingException
}
}
}
我想匹配两个表,以便在顾客使用礼品卡时显示顾客的每一层。
例如,当用户将礼品卡与“ 165491839”一起使用时,他处于第1层。
或者,在GiftCardID ='167026357'时,该层为4。
我找不到相应的表格匹配方式。
我在等你的帮助...
答案 0 :(得分:1)
只需使用JOIN
:
select t2.*, t1.tier
from table2 t2 left join
table1 t1
on t2.userid = t1.userid and
t2.usedate >= t1.begindate and
t2.userdate < t1.enddate;
这是left join
,因此如果由于某些原因日期不匹配,您将不会丢失行。