Помощь в запросе SQL - не удалось связать идентификатор из нескольких частей - PullRequest
2 голосов
/ 15 мая 2009

Я пытаюсь выполнить дополнительный выбор и внутреннее объединение в одном запросе, но без особого успеха.

Запрос в том виде, как он есть, находится ниже, и возвращает ошибку

Идентификатор из нескольких частей "Company.LocalityId" не может быть оценка.

UPDATE Company
SET
    Company.BusinessRegionId = b.Id
FROM 
(
    SELECT
        Id
      FROM
        BusinessRegion
      WHERE
        tag = 'Australia/New South Wales'
) b
INNER JOIN Locality l ON 
    Company.LocalityId = l.Id
where 
    l.StateOrProvinceAbbreviation = 'NSW'

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 15 мая 2009

Ваши таблицы BusinessRegion и Locality на самом деле вообще не объединены в этом запросе, верно? Можете ли вы сделать что-то подобное вместо этого?

UPDATE Company
SET BusinessRegionId = (
    SELECT TOP 1 Id
    FROM BusinessRegion
    WHERE Tag = 'Australia/New South Wales')
FROM Locality l
WHERE l.Id = LocalityId AND l.StateOrProvinceAbbreviation = 'NSW'
3 голосов
/ 15 мая 2009

Вот вариант запроса:

UPDATE 
   c
SET
    c.BusinessRegionId = 
    (
      SELECT TOP 1
        Id
      FROM
        BusinessRegion
      WHERE
        tag = 'Australia/New South Wales'
    )
FROM 
   Company c
   INNER JOIN Locality l ON c.LocalityId = l.Id
WHERE
    l.StateOrProvinceAbbreviation = 'NSW'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...