update pay_license plce inner join ( SELECT e.plc_text, e.pl_id FROM ( SELECT pal.pl_id, plc.plc_text, plc.plc_time FROM dreye_uw.pay_license pal LEFT JOIN dreye_uw.pay_license_content plc ON plc.plc_license_id = pal.pl_id WHERE plc.plc_state = 'product' ORDER BY plc.plc_time DESC ) AS e GROUP BY e.pl_id ) w on plce.pl_id = w.pl_id set plce.plc_text=w.plc_text
SQL 語句是沒錯,可執行完成只有,沒有影響一行
看一下你的这个结果有些什么? SELECT e.plc_text, e.pl_id FROM ( SELECT pal.pl_id, plc.plc_text, plc.plc_time FROM dreye_uw.pay_license pal LEFT JOIN dreye_uw.pay_license_content plc ON plc.plc_license_id = pal.pl_id WHERE plc.plc_state = 'product' ORDER BY plc.plc_time DESC ) AS e GROUP BY e.pl_id 找一条记录符合on plce.pl_id = w.pl_id 要求的记录 贴出来大家分析一下。
pay_license_content 和 pay_license 裱中關聯plc_text 和pl_id,其中pay_license中的plc_text 字段來自pay_license_content裱中,存放的是pay_license_content裱中最新的內容;而pay_license_content表中的pl_id字段來自於pay_license表中。
pay_license_content表存有關於很多pay_license--》pl_id的內容。。我現在主要目的是要把pay_license_content中最新的一條pl_id內容更新到表pay_license中去
SELECT e.plc_text, e.pl_id FROM
( SELECT pal.pl_id, plc.plc_text, plc.plc_time
FROM dreye_uw.pay_license pal LEFT JOIN dreye_uw.pay_license_content plc
ON plc.plc_license_id = pal.pl_id
WHERE plc.plc_state = 'product'
ORDER BY plc.plc_time DESC
) AS e
GROUP BY e.pl_id
) w on plce.pl_id = w.pl_id
set plce.plc_text=w.plc_text
SQL 語句是沒錯,可執行完成只有,沒有影響一行
( SELECT pal.pl_id, plc.plc_text, plc.plc_time
FROM dreye_uw.pay_license pal LEFT JOIN dreye_uw.pay_license_content plc
ON plc.plc_license_id = pal.pl_id
WHERE plc.plc_state = 'product'
ORDER BY plc.plc_time DESC
) AS e
GROUP BY e.pl_id 找一条记录符合on plce.pl_id = w.pl_id 要求的记录 贴出来大家分析一下。