【发布时间】:2013-11-21 07:18:19
【问题描述】:
我有一个名为ad_categories 的表,它的结构是这样的
我还有另一个名为pub_categories 的表,它的结构是这样的
两个表中的 ID 不同我需要选择 id's of ad_categories WHERE 中的任何 ad_categories.cid should be in pub_categories.cid OR any of ad_categories.scid should be in ad_categories.scid OR any of the ad_categories.tcid should be in pub_categories.tcid
我的 cid 列表最多 35,scid 最多 250 和 tcid 最多 600。如何实现这一点,请帮助我..
cid 是主类 scid 是子类,tcid 是第三个子类。 ad_category 是广告商选择类别的地方,而 pub_catogries 是发布商选择类别的地方。我的类别多达 30 个子类别,多达 250 个,第三个类别多达 600 个。 广告商和发布商都可以选择多个类别 我尝试通过 ',` 分解 pub_categories cid、scid 和 tcid 并使用类似条件搜索这样的值
(ad_cat.cid LIKE '%,1,%' OR ad_cat.cid LIKE '%,1') OR (ad_cat.cid LIKE '%,2,%' OR ad_cat.cid LIKE '%,2') OR (ad_cat.scid LIKE '%,1,%' OR ad_cat.scid LIKE '%,1') OR (ad_cat.scid LIKE '%,2,%' OR ad_cat.scid LIKE '%,2') OR (ad_cat.scid LIKE '%,3,%' OR ad_cat.scid LIKE '%,3') OR (ad_cat.scid LIKE '%,4,%' OR ad_cat.scid LIKE '%,4') OR (ad_cat.scid LIKE '%,5,%' OR ad_cat.scid LIKE '%,5') OR (ad_cat.tcid LIKE '%,1,%' OR ad_cat.tcid LIKE '%,1') OR (ad_cat.tcid LIKE '%,2,%' OR ad_cat.tcid LIKE '%,2') OR (ad_cat.tcid LIKE '%,3,%' OR ad_cat.tcid LIKE '%,3') OR (ad_cat.tcid LIKE '%,4,%' OR ad_cat.tcid LIKE '%,4') OR (ad_cat.tcid LIKE '%,5,%' OR ad_cat.tcid LIKE '%,5')
【问题讨论】:
-
这将非常难以处理。不要将列表存储在
cid、scid和tcid中——使用另一个表。请参阅this tutorial 寻求帮助。