-1

嘿,我想知道是否可以得到一些帮助:

Select q1.questionid, qa.questionanswergroupid
from questions q1
full join Questions_AnswerGroup qa on qa.QuestionId=q1.QuestionId
and qa.QuestionId=q1.QuestionId where q1.sectionid=7610
and q1.questiontext like 'Date Filed with EMMA%'

这让我明白了:

    questionid  questionanswergroupid
    31164            17133
    31164            17464
    31164            17465
    31164            17466
    31164            17467
    31164            17468
    31164            17469
    31164            17470
    31169            (null)
    31173            (null)
    31177            (null)
    31181            (null)
    31185            (null)
    31189            (null)
    31193            (null)

这就是我想成为的地方:

Row questionid  questionanswergroupid
    31164            17133
    31169            17464
    31173            17465
    31177            17466
    31181            17467
    31185            17468
    31189            17469
    31193            17470

感谢您提前提供任何帮助。我想要一个单一的更新语句,将 Questions_AnswerGroup 中的重复 questionids 替换为 questions 表中在 Questions_AnswerGroup 表中没有对应值的唯一值。

4

3 回答 3

1

使用内部连接 ​​http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

于 2012-04-23T16:41:23.380 回答
0

我认为你应该做这样的事情..

首先用参数CREATE FUNCTION调用FindUniqueQuestionId@questionanswergroupid

第二做:

UPDATE Questions_AnswerGroup
SET QuestionId = FindUniqueQuestionId(questionanswergroupid)
WHERE questionanswergroupid IN 
(
  SELECT questionanswergroupid FROM Questions_AnswerGroup WHERE "is duplicate" -- pseudo code
)
于 2012-04-23T19:01:36.127 回答
0
Select q1.questionid, qa.questionanswergroupid 
from questions q1 
full join Questions_AnswerGroup qa on qa.QuestionId=q1.QuestionId 
and qa.QuestionId=q1.QuestionId where q1.sectionid=7610 
and q1.questiontext like 'Date Filed with EMMA%' and qa.questionanswergroupid is not null
于 2012-04-23T16:41:19.250 回答