0

我一直在运行 mysql 查询以获取基于 FIND_IN_SET($bannerpageid,bf_relatedid) 的所有行

$bannerpageid 是在每个页面顶部声明的 php 变量。

横幅框架

  bf_ID  bf_relatedID   bf_content
  1      1,2,3,4        content
  2      2,4,6,8,10     content
  3      1,3,5,7,9      content
  ...

所以 $bannerpageid = 3,它会从 banner_frames 表返回第 1 行和第 3 行

它可以工作,但感觉有点倒退,我觉得如果相关的 bf_ID 在单独的表横幅页表中声明会更好。从长远来看,这将使相关 ID 更易于管理。

横幅页面

  bp_ID  bp_relatedID
  1      1,2,3,4
  2      2,4,6,8,10
  3      1,3,5,7,9
  ...

横幅框架

  bf_ID  bf_content
  1      content
  2      content
  3      content
  ...

这次$bannerpageid 与banner_page 表中的bp_ID 相关,因此如果$bannerpageid = 3,它将返回banner_frames 表中的第1 行和第3 行

我尝试编写 mysql 查询以基于内部连接在集合中查找,但我无法让它正确执行查询。所以我有点难过。

如果有人有任何建议,我会非常感激

谢谢

4

1 回答 1

0

您基于 FIND_IN_SET 的原始 MySQL 代码是什么?

尝试:

 SELECT banner_frames.bf_content FROM banner_frames JOIN banner_page ON (banner_page.bp_ID = banner_frames.bf_ID) WHERE FIND_IN_SET($bannerpageid, banner_page.bp_relatedID)
于 2013-06-10T19:41:35.897 回答