
SELECT * FROM product left join product_name on product_name.product_id = product.id left join product_price on product_price.product_id = product.id left join name_country on name_country.name_id = product_name.id left join price_country on price_country.price_id = product_price.id where name_country.country_id = 1 and price_country.country_id = 1 表结构如下
想实现本地化(并且需要可排序),所以这么设计,不知道有没有更好的方法。

如何才能不 where 2 个表的 country_id 呢?因为需要本地化的信息还很多,可能拆分出10个小表。这样就需要 where 10 个表的 country_id
1 heaton_nobu 2014-10-11 15:42:44 +08:00 我经验比较浅,没见过这样的表结构设计 如果你觉得改动很多country_id麻烦的话可以设一个变量 |
2 TangMonk 2014-10-11 15:44:33 +08:00 建议查考下一些开源的ecommerce表结构, prestashop什么的 |
3 coosir 2014-10-11 15:44:41 +08:00 难道不是把name和price放到一个表里面…… |
4 oott123 2014-10-11 15:51:47 +08:00 via Android 本地化和拆表有啥关系… 你直接一个表放进去不行么,一行就是一个语言,然后另外搞个表关联相同商品的不同行。 product_i18n |--product_id--|--piece-id--|--language--| product_piece |--id-|--name--|--....--| |
5 shyrock 2014-10-11 15:52:17 +08:00 说实话没看明白name表和name_country表的设计,意思是name_country表包含了对name的本地化字符串? |
6 changsha OP |
7 imn1 2014-10-11 16:36:39 +08:00 这头像真气人,我抓起报纸想去驱赶……&%@(*@&)@#&(*^$^! |