ホームページ  >  に質問  >  本文

php - mysql 一对多查询

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

天蓬老师天蓬老师2725日前471

全員に返信(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
  • キャンセル返事