mySQL - 与此SELECT查询匹配相同记录的INSERT查询?

时间:2013-02-14 22:19:56

标签: mysql

我有一个选择查询,我用来挑选我的数据库中的联系人,这些联系人暂时还没有说过。我想运行一个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

1 个答案:

答案 0 :(得分:0)

如果要在SQL中全部执行此操作,可以使用UPDATE语句。

UPDATE tablename SET note='duplicate' where id in ( your statement here);

请注意,要使其工作'id',必须是'tablename'中的列。然后,您的语句必须返回单个列,而不是*。返回的列必须是id,它将使您的update语句知道要在'tablename'中更新哪些行。