Обновите SQL, присоединив 3 таблицы - PullRequest
0 голосов
/ 10 декабря 2010

Используя приведенную ниже структуру таблицы, мне нужно вставить идентификатор строки в утвержденную таблицу, используя имя местоположения в качестве значения поиска.Как мне это сделать?

Я начал с использования приведенного ниже кода, но это мало что дает.Не так уж хорошо в объединениях SQL, поэтому любая помощь очень ценится.

UPDATE dbo.Approved 
SET dbo.Approved.Groupid=dbo.Lines.ID 
FROM dbo.Lines,dbo.Approved, dbo.Locations 
WHERE dbo.Approved.Location = dbo.Locations.Location_Name

Утверждено

ID (PK) | Incident             | Location     | GroupID
--------------------------------------------------------
1       | Theft of luggage     |Oxford Circus | Null
2       | Theft of bag         |Kings Cross   | Null

Линии

ID (PK) | Line_Name      | 
--------------------------
1       | Central        |
2       | Northern       |
3       | Circle         |

Расположение

ID (PK) | Location_Name  | LineID
---------------------------------
1       | Oxford Circus  |1
2       | Kings Cross    |2
3       | Victoria       |3

1 Ответ

2 голосов
/ 10 декабря 2010

Я бы посоветовал вам:

UPDATE t1.Approved
SET t1.Groupid = t2.ID
FROM dbo.Approved t1
INNER JOIN dbo.Locations t2 ON t1.Location = t2.Location_Name

Вам не нужна таблица Lines, потому что то, что вы хотите вставить, в конце - это просто LineID, а не Line_Name.1005 * Надеюсь, это поможет,

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