我有一个选择查询,我用来挑选我的数据库中的联系人,这些联系人暂时还没有说过。我想运行一个INSERT查询,为所有使用此选择查询返回的记录输入一个重复的注释...问题是我不确定该怎么做。
SELECT查询本身可能有点令人费解。我基本上想要从所选择的每个合作伙伴那里得到最新的笔记,然后选择仅在某个日期之前没有笔记的合作伙伴... SELECT查询:
SELECT * FROM
(
SELECT * FROM
(
SELECT
partners.partners_id,
partners.CompanyName,
notes.Note,
notes.DateCreated
FROM
notes
JOIN
partners ON notes.partners_id = partners.partners_id
ORDER BY notes.DateCreated DESC
) AS Part1
GROUP BY partners_id
ORDER BY DateCreated ASC
) AS Part2
WHERE
DateCreated <= '2013-01-15'
如何运行INSERT查询,该查询只会与此SELECT进入相同的记录?
插入将输入以下记录:
INSERT INTO notes
(
notes_id,
partners_id,
Note,
CreatedBy,
DateCreated
)
SELECT
UUID(),
partners.partners_id,
'Duplicated message!',
'User',
'2013-02-14'
FROM
partners
答案 0 :(得分:0)
如果要在SQL中全部执行此操作,可以使用UPDATE语句。
UPDATE tablename SET note='duplicate' where id in ( your statement here);
请注意,要使其工作'id',必须是'tablename'中的列。然后,您的语句必须返回单个列,而不是*。返回的列必须是id,它将使您的update语句知道要在'tablename'中更新哪些行。