如何进行更新?这是代码,它不起作用。 (三个本地表是可行的,我不能使用更新进行最后一次查询)
WITH
allowedIds AS (
SELECT client_id as id FROM cardHistory
WHERE ( (now())::date -(date_set)::date )::int > 1095 ),
thirtyPercents AS (
SELECT a.id, ( ( (card_period[2][1])::date - (card_period[1][1])::date)::double precision / 10 ) * 3 AS percent
FROM client a, allowedIds b
WHERE a.id = b.id
),
dataSets AS (
select a.id, (a.card_period[2][1] + ( (b.percent)::int * interval '1 day' ) ) as newDate
from client a, thirtyPercents b
where a.id = b.id
)
UPDATE client
SET a.card_period[2][1] = b.newDate
FROM dataSets b INNER JOIN client a ON a.id = b.id;
答案 0 :(得分:1)
我想你想要这个:
UPDATE client
SET card_period[2][1] = b.newDate
FROM dataSets d
WHERE client.id = d.id;
请注意,查询中未提及client
两次。