多个ID,IN只能匹配第一个条件的解决方法

<select id="xxxx" resultType="实体类路径">
        SELECT a.id, a.name, GROUP_CONCAT(c.name ,'') menuName, d.name subName
        FROM crea_user_role a
        LEFT JOIN cera_user_role_menu_relation b ON (a.id = b.role_id)
        LEFT JOIN crea_sys_menu c ON FIND_IN_SET (c.id, b.menu_id)
        LEFT JOIN crea_sys_sub_menu d ON FIND_IN_SET (d.id, b.sub_meun_id)
        <include refid="userRoleList"/>
    </select>
SELECT a.menu_id menuId, a.sub_meun_id subMeunId, a.role_id releId,   (SELECT GROUP_CONCAT(b.name ,'') FROM crea_sys_menu b WHERE FIND_IN_SET (b.id, a.menu_id) ) menuName, GROUP_CONCAT(d.name ,'') subName  FROM cera_user_role_menu_relation a
       LEFT JOIN crea_sys_sub_menu d ON FIND_IN_SET (d.id, a.sub_meun_id) WHERE a.role_id = #{roleId}
-- MAX 最大  MIN最小  AVG平均数 COUNT返回记录条总数  SUM返回总和  GROUP BY 分组    ORDER BY a.create_time DESC ;  时间排序
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个Excel VBA的脚本,可以实现通过两个表的商品ID,SKU,标题来匹配品类: ``` Sub MatchCategories() Dim ws1 As Worksheet, ws2 As Worksheet Dim lastRow1 As Long, lastRow2 As Long Dim i As Long, j As Long Dim matchFound As Boolean Set ws1 = Worksheets("Sheet1") ' 第一个表格 Set ws2 = Worksheets("Sheet2") ' 第二个表格 lastRow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row ' 第一个表格最后一行 lastRow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row ' 第二个表格最后一行 For i = 2 To lastRow1 ' 遍历第一个表格 matchFound = False ' 初始化匹配状态 For j = 2 To lastRow2 ' 遍历第二个表格 If ws1.Cells(i, 1).Value = ws2.Cells(j, 1).Value And ws1.Cells(i, 2).Value = ws2.Cells(j, 2).Value And ws1.Cells(i, 3).Value = ws2.Cells(j, 3).Value Then ' 匹配条件 ws1.Cells(i, 4).Value = ws2.Cells(j, 4).Value ' 将品类赋值到第一个表格 matchFound = True ' 标记匹配成功 Exit For ' 退出内部循环 End If Next j If Not matchFound Then ws1.Cells(i, 4).Value = "" ' 如果没有匹配成功,则清空品类 Next i End Sub ``` 在这个脚本中,我们首先定义了两个工作表对象ws1和ws2,然后获取了它们的最后一行行号。然后,我们使用两个嵌套的for循环来遍历两个表格。在内部循环中,我们使用If语句来检查是否存在匹配条件。如果找到了匹配条件,则将品类赋值到第一个表格中。如果没有找到匹配条件,则清空品类单元格。 请注意,在运行此脚本之前,您需要将工作表名称“Sheet1”和“Sheet2”更改为您实际使用的工作表名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值