SQL查询导致重复

时间:2016-03-27 11:38:02

标签: mysql sql

为简单起见,我只列出了以下相关字段:

Table 1 (question_data_table):
 - UserID
 - QuestionID
 - Strength
 - Timestamp


Table 2 (user_question_waitlist):
 - UserID
 - QuestionID
 - Timestamp

我正在运行以下查询:

INSERT INTO user_question_waitlist (UserID, QuestionID, Timestamp) 
SELECT UserID, QuestionID, Timestamp FROM question_data_table 
WHERE Strength <= 0 AND question_data_table.QuestionID NOT IN 
(SELECT QuestionID FROM user_question_waitlist 
WHERE question_data_table.UserID = user_question_waitlist.UserID)

问题是,应该在user_question_waitlist中插入5行。它插入31。

enter image description here

来自question_data_table的示例数据:

Sample Data:

user_question_waitlist数据变化很大,例如可以为空或包含其他用户的数据。

例如,如果我在user_question_waitlist中有以下数据,请使用上面的示例数据: enter image description here

...然后运行查询,它插入6行来产生这个: enter image description here

1 个答案:

答案 0 :(得分:1)

尝试将DISTINCT添加到您选择的结尾。