求思路,关于spLinker()

#1 phpha

现在有2张表,1张为商品表(goods),其中有个字段(gpic),表示该商品所对应的附件的编号序列,如:gpid='1,2,3';表示该商品有ID为1,2,3的3个附件。
另外一个表就是附件表,有个字段(attaid)表示附件的编号。
现在的问题时,我在循环输出商品信息时,需要调用该商品对应的附近信息。
如果用一对一关联(我的理解也就是联合查询)的话,自己直接写SQL语句的话也可以,我只是想问在SP中关联是否能做得到?
因为联合查询一般的条件不都是 where a.aid = b.bid 吗? 现在直接写语句的话也应该是 where a.gid in (b.bid),而不是AND了!
总结一下,我其实是想问在SP的关联查询中怎么处理这种情况?因为此时没有2个字段值相等作为条件了……
PS:或许我理解的不对,请jake提供下思路~谢谢~

该贴已经同步到 phpha的微博

2011-07-19 17:03:54

#2 songfeiok

楼主这种建表 不是传统的建表方式

其实 附件 和产品表是个多对多的关系 而建表的时候没有建关系表
所以用sp标准mode是不能实现的,只能单表查询方式了。
建议建表的时候尽量考虑建关系表,对库性能有很大好处!

2011-07-19 17:14:52

#3 phpha

回复 2 songfeiok


    嗯,谢了,呵呵。我正在修改表结构。
然后就可以用一对多关联了……
刚才我理解错了~刚才我的是“多条一对一”,而不是“一对多”!呵呵。

2011-07-19 17:22:14

#4 jake

是多对多,所以最好把gpid='1,2,3'的结构再分开一个表。或者直接用sql,spLinker是实现不了。

2011-07-19 18:25:39