Выберите и обновите с объединением, давая различные записи - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть две таблицы с отношением

  • Назначение таблицы
  • Билеты на стол

В таблице назначения есть поле, которое является статусом.Таким образом, я выбираю запись из таблицы назначения, где статус complete, который возвращает 6909 records

Чем я возвращаю записи, используя внутреннее соединение с условием статуса complete, который также возвращает 6909 записей.

Но когда я обновляю таблицу, используя соединение и с тем же условием, это обновляет 6625, но записи не 6909.Есть ли проблемы с запросом или что-то еще?Пожалуйста, руководство

Запросы:

Первое: вернуть 6909 записей

SELECT * FROM [ITSC].[dbo].[assignment] where assignment_status = 'Completed' 

Второе: вернуть 6909 записей

SELECT tickets.ticket_submitted_by , tickets.ticket_type , tickets.ticket_open_date , tickets.ticket_priority , tickets.ticket_description , assignment.staff_name,assignment.assigned_time_start,assignment.assigned_time_end,assignment.assignment_status
from tickets 
inner join 
assignment 
on tickets.ticket_id = assignment.ticket_id
where assignment.assignment_status = 'Completed'

Третье: обновить 6625 записей нет6909

 update tickets set tickets.ticket_close_date = '2015-04-29' 
,tickets.ticket_close_time = '2015-04-29 09:25:40.670' from tickets
 inner join assignment
 on tickets.ticket_id = assignment.ticket_id
 where assignment.assignment_status = 'Completed'

1 Ответ

0 голосов
/ 14 декабря 2018

Можете ли вы попробовать этот запрос

 update tickets set tickets.ticket_close_date = '2015-04-29' 
                    ,tickets.ticket_close_time = '2015-04-29 09:25:40.670' 
    from assignment
    where  tickets.ticket_id = assignment.ticket_id
    and  assignment.assignment_status = 'Completed'
...