0
Magentoデータベースに「New From」というデータがありますが、「New To」はありません。innerjoinと動的更新で選択
今、私はそれが開かれた後、1ヶ月「新しいもの」このクエリ閉鎖にUPDATEステートメントを実行するために500件の以上のアイテムに関するので、実行したい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
。
これを実行する方法はありますか?
だから、明確にする:
表1:(catalog_product_entity)
| entity_id | sku |
| --------- | --- |
| 1 | ABC |
| 2 | DEF |
表2:(catalog_product_entity_datetime)
| 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 |
を私は表2にNULL値を更新したいですその同じテーブルの日付+ 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 |
私はこのようなものに終わるだろう。(しかし、この1つは動作しません)
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