2013-02-14 145 views
0

我有一个选择查询,我正在使用它来挑选我的数据库中一段时间​​内没有提及的联系人。我想运行一个INSERT查询来为所有使用此select查询返回的记录输入一个重复注释...问题是我不确定如何去做。mySQL - 与此SELECT查询匹配相同记录的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相同的记录中?如果你想要做的这一切都在SQL

INSERT INTO notes 
(
notes_id, 
partners_id, 
Note, 
CreatedBy, 
DateCreated 
) 
SELECT 
UUID(), 
partners.partners_id, 
'Duplicated message!', 
'User', 
'2013-02-14' 
FROM 
partners 
+1

你的意思是更新查询吗? – 2013-02-14 22:21:03

+0

INSERT INTO table_name(column1,column2,...)SELECT(value1,value2,...).... – Slowcoder 2013-02-14 22:23:41

回答

0

,您可以使用UPDATE语句:

插入将进入记录等。

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

注意,为了这个工作“身份证”需要从“表名”一列。然后,你的陈述必须返回一列,而不是*。返回的列需要是能让你的update语句知道在'tablename'中更新哪些行的id。

+0

我已经更新了一下我的问题 - 是否可以使用UPDATE输入记录我想如我的例子所示? – Benshack 2013-02-14 22:47:29

+0

我认为你想要在你的案例中使用的是INSERT INTO语句。这里有一个问题,可能会有所帮助:http://stackoverflow.com/questions/25969/sql-insert-into-values-select-from – aglassman 2013-02-14 23:04:11

+0

我已经知道如何做INSERT INTO语句,但我似乎无法看到o图了解如何获取上面的INSERT INTO语句以在该SELECT语句的结果中运行。谢谢您的帮助。 – Benshack 2013-02-14 23:20:26