하나의 서버에 있는 두 개의 서로 다른 데이터베이스에 있는 테이블 간에 INER JOIN을 사용하여 쿼리 업데이트
SQL 구문 도움말이 필요합니다 :-)
두 데이터베이스가 동일한 서버에 있습니다.
db1 = DHE
db2 = DHE_Import
UPDATE DHE.dbo.tblAccounts
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink
ON DHE.dbo.tblAccounts.AccountCode = DHE_Import.tblSalesRepsAccountsLink.AccountCode
SET DHE.dbo.tblAccounts.ControllingSalesRep = DHE_Import.dbo.tblSalesRepsAccountsLink.SalesRepCode
유사한 구문의 링크된 테이블로 액세스에서 쿼리를 수행할 수 있지만 SQL은 이를 좋아하지 않습니다.
저는 그것이 간단한 문제라고 확신합니다 :-D.
감사합니다!
그냥 스타일이라고 할 수 있지만, 저는 가독성을 향상시키기 위해 별칭을 선호합니다.
UPDATE A
SET ControllingSalesRep = RA.SalesRepCode
from DHE.dbo.tblAccounts A
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink RA
ON A.AccountCode = RA.AccountCode
MySQL의 경우
UPDATE DHE.dbo.tblAccounts A
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink RA
ON A.AccountCode = RA.AccountCode
SET A.ControllingSalesRep = RA.SalesRepCode
MySQL 구문은 다음과 같습니다.
UPDATE table1
INNER JOIN table2 ON table1.field1 = table2.field2
SET table1.field3 = table2.field4
WHERE ...... ;
http://geekswithblogs.net/faizanahmad/archive/2009/01/05/join-in-sql-update--statement.aspx
늦어서 죄송합니다만, 이곳에 도착한 사람들이 비슷한 문제에 대한 해결책을 찾는 것이 도움이 될 것 같습니다.set 절은 update 절 바로 뒤에 와야 합니다.따라서 쿼리를 약간 변경하여 다시 정렬하면 효과가 있습니다.
UPDATE DHE.dbo.tblAccounts
SET DHE.dbo.tblAccounts.ControllingSalesRep
= DHE_Import.dbo.tblSalesRepsAccountsLink.SalesRepCode
from DHE.dbo.tblAccounts
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink
ON DHE.dbo.tblAccounts.AccountCode
= DHE_Import.tblSalesRepsAccountsLink.AccountCode
다음과 같이 표시해야 합니다.
UPDATE DHE.dbo.tblAccounts
SET DHE.dbo.tblAccounts.ControllingSalesRep =
DHE_Import.dbo.tblSalesRepsAccountsLink.SalesRepCode
from DHE.dbo.tblAccounts
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink
ON DHE.dbo.tblAccounts.AccountCode =
DHE_Import.tblSalesRepsAccountsLink.AccountCode
FROM 절에서 업데이트 테이블이 반복됩니다.
UPDATE table1 a
inner join table2 b on (a.kol1=a.b.kol1...)
SET a.kol1=b.kol1
WHERE
a.kol1='' ...
구문이 작동할 때까지 나를 위해 - MySQL.
유용할 수도 있는
Update
A INNER JOIN B ON A.COL1=B.COL3
SET
A.COL2='CHANGED', A.COL4=B.COL4,......
WHERE ....;
SQL에서 Inner join 쿼리를 사용하여 업데이트하는 것은 매우 간단합니다.사용하지 않고도 할 수 있습니다. FROM
절다음은 예입니다.
UPDATE customer_table c
INNER JOIN
employee_table e
ON (c.city_id = e.city_id)
SET c.active = "Yes"
WHERE c.city = "New york";
여기에 설명되어 있습니다. http://erabhinavrana.blogspot.in/2014/01/how-to-execute-update-query-by-applying.html
또한 일반적으로 사용되는 다른 유용한 코드 스니펫도 있습니다.
update <dbname of 1st table>.<table name of 1st table> A INNER JOIN <dbname of 2nd table>.<table name of 2nd table> RA ON A.<field name of table 1>=RA.<field name of table 2> SET A.<field name of table 1 to be updated>=RA.<field name of table 2 to set value in table 1>
데이터 바꾸기<>
적절한 가치를 제공합니다.
바로 그거야. 출처:
//For Access Database:
UPDATE ((tblEmployee
LEFT JOIN tblCity ON (tblEmployee.CityCode = tblCity.CityCode))
LEFT JOIN tblCountry ON (tblEmployee.CountryCode = tblCountryCode))
SET tblEmployee.CityName = tblCity.CityName,
tblEmployee.CountryName = tblCountry.CountryName
WHERE (tblEmployee.CityName = '' OR tblEmployee.CountryName = '')
Update one table using Inner Join
UPDATE Table1 SET name=ml.name
FROM table1 t inner JOIN
Table2 ml ON t.ID= ml.ID
저한테는 완벽하게 먹혔죠.
UPDATE TABLE_A a INNER JOIN TABLE_B b ON a.col1 = b.col2 SET a.col_which_you_want_update = b.col_from_which_you_update;
언급URL : https://stackoverflow.com/questions/9894353/update-query-with-inner-join-between-tables-in-2-different-databases-on-1-server
'programing' 카테고리의 다른 글
"R" 재료를 검색하는 방법은 무엇입니까? (0) | 2023.07.15 |
---|---|
스프링 JPA:데이터를 손실하지 않고 전환하는 방법 (0) | 2023.07.15 |
요일 찾기 (0) | 2023.07.15 |
HTML에서 Excel로:Excel에 열을 숫자로 처리하도록 지시하는 방법은 무엇입니까? (0) | 2023.07.15 |
INSERT INTO(SQL Server 2005)를 사용하여 여러 값 삽입 (0) | 2023.07.10 |