ecshop php查询语句,ecshop数据库查询语句

我也是这样做的  同求!######很想帮你但是我看到PHP就头疼,你可以直接把sql分离出来吗~?######回复 @kstsca : 我不是学PHP的~要花时间去看你PHP代码就太浪费了~我意思是你吧最后拼出来的SQL代码打印出来!######所以出现了上面的 用in查询######主表goods 商品表

附表arr 商品属性表

譬如 goods id    name 1     大神 arr表 id  goodid(商品id)   arrid(商品属性id)   value(值) 1    1                       1                         ex 2    1                        2                         ex 3    1                        3                           ex   商品属性ID 1是切工  2是光泽  3是材质   现在我要查  切工ex   材质idea  的产品######可能还是涉及到 切工 ex  idea 多值的查询

######试试这样做会不会比你的快.   $sql_f.= ',(SELECT goods_id, attr_value AS cut FROM ' . $GLOBALS['ecs']->table('goods_attr') .   ' WHERE (attr_id=2'.$cut_where . ') or '.          '(attr_id=3'.$color_where. ') or '.          '(attr_id=6'.$symmetry_where  . ') or '.          ......          ') AS new_table_name';######要注意的是每次连表都有一个as######这效率又回老路了,感觉######这样好像缺一步,处理成新表后,如何再输出各商品值呢?######好的######代码看上去很熟悉,原来是ecshop

######回复 @kstsca : 看表名,字段名就知道了######回复 @kstsca : 肯定是ecs啦######这段代码应该不是ecshop写的,你看出来应该是表名吧######头大...表设计的有问题吧######这样设计很常规吧,应该把请求让php处理好,再写sql,但现在为了省时,想直接改sql优化######

引用来自“RickyFeng”的答案

试试这样做会不会比你的快.   $sql_f.= ',(SELECT goods_id, attr_value AS cut FROM ' . $GLOBALS['ecs']->table('goods_attr') .   ' WHERE (attr_id=2'.$cut_where . ') or '.          '(attr_id=3'.$color_where. ') or '.          '(attr_id=6'.$symmetry_where  . ') or '.          ......          ') AS new_table_name';

改为以下方式: SELECT goods_id, attr_value AS cut FROM ' . $GLOBALS['ecs']->table('goods_attr') .' WHERE attr_id=2'.$cut_where.' UNION ALL SELECT goods_id, attr_value AS color FROM ' . $GLOBALS['ecs']->table('goods_attr') .' WHERE attr_id=3'.$color_where.' ....... ######还是谢谢热心关注我的提问。。######感觉上去 效率应该差不多的,呵呵,回去试试看######继续呼唤sql牛人 ######终极解决方法: 1:把所有数据弄到一张表里面 --- 不冗余,不是mysql, mysql根本不是数据库 2:换数据库 ######回复

@HelloChina : 总比浪费生命时光好。垃圾的mysql不支持交集运算,只能把数据取出来在应用层做集合运算。想着就蛋痛。######又看到宏哥 在让人还数据库了######回复

@kstsca : 坦率的说,这个问题无解. 你的sql 并没有什么问题. 问题在于mysql缺乏集合运算能力.######这方法太耗时了,再说一个布怎么重要客户的,没这么大费周章,现在想让那位sql牛人看看,是否优化下sql语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值