[生き残れるか]EC-CUBE[2店舗目]at PHP
[生き残れるか]EC-CUBE[2店舗目] - 暇つぶし2ch852:nobodyさん
08/04/06 02:02:01
>>844の再現だけなら、商品点数は関係なく、規格数と規格分類数だけ。インストール時のサンプル商品データでもおk
該当箇所のSQLが下記。チューニングしたけりゃしてくれw

SELECT $cols FROM
(
SELECT T1.class_id AS class_id1, T2.class_id AS class_id2, T1.classcategory_id AS T1_classcategory_id, T2.classcategory_id AS T2_classcategory_id, T1.name AS name1, T2.name AS name2, T1.rank AS rank1, T2.rank AS rank2
FROM dtb_classcategory AS T1, dtb_classcategory AS T2
WHERE T1.class_id IN
(SELECT class_id1 FROM vw_cross_products_class AS crs_prd WHERE product_id = ? GROUP BY class_id1, class_id2) AND T2.class_id IN (SELECT class_id2 FROM vw_cross_products_class AS crs_prd WHERE product_id = ? GROUP BY class_id1, class_id2)
) AS T1

LEFT JOIN (SELECT * FROM dtb_products_class WHERE product_id = ?) AS T3
ON T1_classcategory_id = T3.classcategory_id1 AND T2_classcategory_id = T3.classcategory_id2
ORDER BY rank1 DESC, rank2 DESC

↓↓ 置き換えられるSQLパーツ ↓↓

※【$cols】 #=>
class_id1, class_id2, name1, name2, rank1, rank2,
product_class_id, product_id, T1_classcategory_id AS classcategory_id1, T2_classcategory_id AS classcategory_id2,
product_code, stock, stock_unlimited, sale_limit, price01, price02, status

※【vw_cross_products_class】 #=>
(SELECT T1.class_id1, T1.class_id2, T1.classcategory_id1, T1.classcategory_id2, T2.product_id,
T1.name1, T1.name2, T2.product_code, T2.stock, T2.price01, T2.price02, T1.rank1, T1.rank2
FROM (SELECT T1.class_id AS class_id1, T2.class_id AS class_id2, T1.classcategory_id AS classcategory_id1, T2.classcategory_id AS classcategory_id2, T1.name AS name1, T2.name AS name2, T1.rank AS rank1, T2.rank AS rank2
FROM dtb_classcategory AS T1, dtb_classcategory AS T2 ) AS T1 LEFT JOIN dtb_products_class AS T2
ON T1.classcategory_id1 = T2.classcategory_id1 AND T1.classcategory_id2 = T2.classcategory_id2)


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch