0
我有一个表中的一对多关系的2个表。我想运行一个更新脚本,它只会在有一个结果的情况下用相关表的FK更新表格(因为如果有多个结果,那么我们需要决定在另一个方法中使用哪一个)如何仅从另一个表中更新表如果结果计数为1?
这里是我到目前为止有:
UPDATE import_hourly_event_reports i
SET i.banner_id = b.banner_id
FROM banner b
JOIN plan p ON b.plan_id = p.id
WHERE b.campain_id = i.campaign_id
AND b.size_id = i.size_id
AND p.site_id = i.site_id
HAVING COUNT(b.banner_id) = 1
正如你所看到的,HAVING
条款并不完全工作,因为我希望它。我只希望在与横幅表的旗帜ID导入表更新该行如果计数等于1
,它总是会产生1因为banner_id是唯一的。 – 2010-05-04 20:51:08
我想他们已经离开了你的计数(b1.banner_id)。只是适应从计划表中选择计数。 – 2010-05-04 21:02:01
我接受这个,因为它是我解决方案的基础。我还会对其进行编辑以使其对我的场景准确无误。 – 2010-05-04 21:14:17