首页  >  问答  >  正文

php - mysql 一对多查询

表1有一个字段为ksort 值为1,2,3,这三个值分别对应表2中的每条数据的ID, 表2有N条数据 怎么查询能查到ksort里面值得三条数据?

天蓬老师天蓬老师2772 天前505

全部回复(4)我来回复

  • 天蓬老师

    天蓬老师2017-04-11 10:19:14

    自己搞定了
    select ID from 表2 where (select CONCAT(',', ksort , ',')AS ksort from 表1 ) LIKE CONCAT('%,', ID , ',%');

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:19:14

    select tb2.* FROM tb1 LEFT JOIN tb2 ON find_in_set(tb2.id,tb1.ksort)

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 10:19:14

    selct * from 表2 where id in ( select ksort from 表1)

    没看懂你到底在问什么。大致就是这样?

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:19:14

    要么你插入表一时冗余一个字段放前三个值。
    要么分两次,先查出ksort字段的值,排序,再根据前三个来查,不join

    回复
    0
  • 取消回复