2012-03-23 4 views
1

У меня есть таблица «nol_voa» с разными значениями, и я импортирую XML-файл со значениями в этой таблице. Я хочу вставить в другую таблицу «#tmpRcIzm» значения «id», где поле «C_REF» изменил свое значение.
Это код, что я написал, но есть ошибка, он всегда добавляет еще два значения «id», которые не были изменены.Как вставить только отредактированные значения в таблицу

insert into #tmpRcIzm 
    select distinct 
     a.id 
    from 
     openxml(@hDoc, '/art_komplekts/nol_voa') with #vc xd 
     join nol_art a on xd.art_cd = a.cd 
     left join #tmp t on t.cd = xd.art_cd 
     inner join nol_voa v on xd.id_art = v.id_art 
    where 
     xd.C_REF!=v.C_REF 
+0

Добавлен Xquery к вашим тегам – Churk

ответ

1

Вы оставили джойн #tmp, можно ввести дубликаты, а также присоединиться к на не nol_art не годиться на этом SQL. удалите эти два, и вы должны уничтожить своих дублирующих устройств.

+0

Я удалил эти два соединения, но проблема все еще остается. – Brezhnews

+0

Итак, вопрос в XML, где xd.id_art = вы nol_voa.id_art, есть шанс, что ваш XML имеет несколько строк id_art, а какая-то строка изменила C_REF, а некоторые нет? – Churk

+0

Да, это была проблема, у меня было несколько xd.id_art в моем xml, но с разными значениями C_REF. Благодарю. – Brezhnews