私は、減算したいデータベースにlongtext型の2つの値を持っています。ここでSQL - 同じテーブル内の2つの行の除外
はスキーマです:
私は0.15で_store_priceをsubstractし、この結果を持っている_regular_priceでそれを保存したい:
私は本当に上の基本的な知識を持っていますSQLを使用していましたが、これをphpmyadminで実行しようとしました。
UPDATE wp_postmeta AS p1
LEFT JOIN wp_postmeta AS p2
ON p1.post_id = 30860
SET p1.meta_value = CAST(CAST(p2.meta_value as DECIMAL(10,2)) - 0.15) as char(20))
WHERE p1.meta_key = '_regular_price'
AND p2.meta_key = '_store_price'
どのようにこれを達成するためのアイデアはありますか?
私はそれを動作させるために、このようにそれを修正する必要がありました: AS P1 SETのp1.meta_value wp_postmeta UPDATEは= (CASTを選択DECIMAL AS((CAST(p2.meta_value(10,2) ) - 0.15)ASCHAR(20)) FROM(SELECT * FROM wp_postmeta)AS p2 WHERE p2.post_id = 30860 AND p2.meta_key = '_prix_magasin') WHERE p1.post_id = 30860 AND p1.meta_key = '_regular_price' – Lelka
今、テーブルのすべてのレコードに対して、その特定のpost_idだけでなく、どのようにしたいのですか? – Lelka
まだコメントを追加できるのかどうかわかりませんが、 '_store_price' p2.meta_valueが空ではなく、まだ更新されている場合にのみ '_regular_price' p1.meta_valueを更新しようとしています。なぜどんなアイデア? AS P1 INNER wp_postmeta UPDATEはp1.post_id = p2.post_id AND p1.meta_key = '_regular_price' AND p2.meta_key = '_store_price' SETのp1.meta_value = CAST((CAST(p2.meta_value ON P2とwp_postmetaをJOIN ASCHAR(20,2)) ここでp2.meta_value!= ''(10進数の場合) - CAST(p2.meta_value AS DECIMAL(10,2))* 0.02) – Lelka