Выполнение обновления SQL с использованием объединения и сопоставления определенных столбцов - PullRequest
1 голос
/ 12 апреля 2011

У меня есть одна база данных с таблицей, содержащей столбец CLASS_LEVEL.У меня есть другая база данных, содержащая столбец CLASS_LEVEL.В первой таблице есть только одна строка для каждого учащегося, во второй таблице есть несколько строк для каждого учащегося, таким образом, несколько CLASS_LEVELS.Мне нужно обновить значения в TABLE1 значениями из TABLE2.Вот мой текущий код:

UPDATE R
SET R.CLASS_LEVEL = A.CLASS_LEVEL
FROM Residents R
INNER JOIN
CAMPUS..ACADEMIC A
ON
R.PEOPLE_CODE_ID = A.PEOPLE_ID

Но мне нужно каким-то образом добавить предложение where, чтобы оно обновлялось с использованием конкретного результата A.CLASS_LEVEL, а не только одного, связанного с этим студентом, что-то вроде:

WHERE A.ACADEMIC_TERM='Fall' AND A.ACADEMIC_YEAR='2011'

Я не знаю, как использовать термин where или что-то похожее с таблицей SQL, хотя ... Есть предложения?

1 Ответ

2 голосов
/ 12 апреля 2011

Это так просто

UPDATE
 R
SET
  R.CLASS_LEVEL = A.CLASS_LEVEL
FROM
  Residents R
  INNER JOIN
  CAMPUS..ACADEMIC A ON R.PEOPLE_CODE_ID = A.PEOPLE_ID
WHERE
  A.ACADEMIC_TERM='Fall' AND A.ACADEMIC_YEAR='2011'
  • Присоединяйтесь к R и A на соответствующих идентификаторах
  • Ограничить A набором строк

Чистый эффект - ограничение R на совпадение строк в отфильтрованном подмножестве A

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...