0
Magento 데이터베이스에 "New From"이 있지만 "New To"가없는 제품을 찾기 위해 쿼리를 만들었습니다.innerjoin 및 동적 업데이트로 선택
SELECT
catalog_product_entity.entity_id,
catalog_product_entity.sku,
a.value as New_From,
b.value as New_To
FROM `catalog_product_entity`
INNER JOIN catalog_product_entity_datetime as a on a.entity_id = catalog_product_entity.entity_id and a.attribute_id = '93'
INNER JOIN catalog_product_entity_datetime as b on b.entity_id = catalog_product_entity.entity_id and b.attribute_id = '94'
WHERE a.value IS NOT NULL AND b.value IS NULL
는 이제이 쿼리 폐쇄에 UPDATE 문을 실행하는 500 개 항목을 우려하기 때문에 무엇을 달성 할 싶습니다 "새로운 방법"1개월 가진 후 열려.
어떤 아이디어로 실행하나요?
그래서 명확하게 :표 1 : (catalog_product_entity)
| entity_id | sku |
| --------- | --- |
| 1 | ABC |
| 2 | DEF |
표 2 : (catalog_product_entity_datetime) 나는 테이블 2의 NULL 값을 업데이트 할
| id | entity_id | attribute_id | value |
| --- | --------- | ------------ | ----- |
| 1 | 1 | 93 | 2013-06-12 00:00:00 |
| 2 | 1 | 94 | 2013-07-12 00:00:00 |
| 3 | 1 | 98 | Some other attribute |
| 4 | 2 | 93 | 2014-08-20 00:00:00 |
| 5 | 2 | 94 | NULL | <- This I want updating
| 6 | 2 | 98 | Some other attribute |
같은 테이블의 날짜 + 1 개월. 내 검색 반환 :
| entity -id | sku | New_From | New_To |
| ----------- | --- | ------------------- | ------------------- |
| 2 | DEF | 2014-08-20 00:00:00 | NULL |
그래서 나는 New_From + 1 개월 해당 필드를 업데이트하는 쿼리를 작성하고 싶습니다. 내 마음에
| entity -id | sku | New_From | New_To |
| ----------- | --- | ------------------- | ------------------- |
| 2 | DEF | 2014-08-20 00:00:00 | 2014-09-20 00:00:00 |
나는 이런 일에 종료됩니다 (하지만이 하나가 작동하지 않습니다)
UPDATE catalog_product_entity_datetime
SET value = TIMESTAMP(a.value+300000000)
INNER JOIN catalog_product_entity_datetime as a on a.entity_id = catalog_product_entity_datetime.entity_id and a.attribute_id = '93'
WHERE attribute_id=94
당신은 질문 우리에게 몇 가지 샘플 데이터와 원하는 결과를 보여주십시오. – Blank
@JPG를 설명 할 수있는 테이블을 추가했습니다. – Jacco