-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 の重複する questionid を、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 に答える