2013-02-14 194 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