Magento에 익숙한 사용자는 catalog_product_link
테이블에 새로운 upsell 항목을 만드는 쿼리를 작성하려고하지만 고유 한 기준이 있습니다. MySQL (또는 SQL)에 대한 필자의 지식은 기껏해야 기본 지식입니다.두 목록의 SQL 결과를 일치시키고 발견 된 각 일치에 대해 새 행을 삽입하는 방법은 무엇입니까?
테이블에 두 가지 유형의 제품이 있습니다.이 제품은 몇 가지 다른 테이블을 결합하여 고유하게 식별 할 수 있습니다. 그래서 같은 제품 결과의 두 가지 유형의 고유 목록을 얻을 수 있습니다 결과의 두 목록이 WHERE cat.category_id IN (41)
변화를 기반으로
SELECT cpev.entity_id AS product_id, cpev.value AS name
FROM catalog_product_entity_varchar AS cpev
INNER JOIN catalog_product_entity AS cpe
ON cpe.entity_id = cpev.entity_id
INNER JOIN eav_attribute AS ea
ON ea.attribute_id = cpev.attribute_id
INNER JOIN catalog_category_product AS cat
ON cat.product_id = cpev.entity_id
WHERE cat.category_id IN (41)
AND ea.attribute_code = 'name'
GROUP BY product_id
ORDER BY product_id;
을 ....
내가하려는 것은 이름의 첫 번째 목록에서 두 번째 목록에서 하나 이상의 행을 일치시키는 것입니다. 첫 번째 목록의 전체 이름은 두 번째 목록의 이름의 첫 번째 부분과 일부 텍스트를 더한 것입니다. 예를 들면 :
- 목록 1, 이름 : Afinia L801은
- 리스트 2는, 이름 : Afinia L801 현장 유지 관리 각 경기 계약
, 나는 다른에 새 행을 삽입해야 테이블과 같이이는 SQL로 수행 할 수있는 무언가 경우, 또는
INSERT INTO catalog_product_link (product_id, linked_product_id, link_type_id)
SELECT @idFromList1 AS product_id, @idFromList2 as linked_product_id, 4 as link_type_id
...
잘 모르겠어요이게 내가 (예를 들어)는 PHP 사우스 캐롤라이나를 작성해야하는 경우가있는 경우 ript를 사용하여 db에서 두 목록을 가져 와서 일치시킨 다음 결과를 삽입하십시오. 그러나 나는 여전히 SQL을 배우고 있으므로 MySQL 쿼리만으로 할 수있는 것을 더 잘 이해하려고 노력 중입니다.
어떤 열이 이름을 갖고 있습니까? 당신이 찾고있는 다른 카테고리 번호는 무엇입니까? – clinomaniac