UPDATE [asgdb01].[dbo].[info]
SET [FM] = SUM(a.[PAZARTESI] - b.[KOTA])
FROM [asgdb01].[dbo].[info] a, [asgdb01].[dbo].[kota] b
WHERE a.[WORK_TYPE]='IN' AND a.[NAME]='ALP'
의 설정 목록에 표시되지 않을 수도 있습니다?집계는 UPDATE 문
UPDATE [asgdb01].[dbo].[info]
SET [FM] = SUM(a.[PAZARTESI] - b.[KOTA])
FROM [asgdb01].[dbo].[info] a, [asgdb01].[dbo].[kota] b
WHERE a.[WORK_TYPE]='IN' AND a.[NAME]='ALP'
의 설정 목록에 표시되지 않을 수도 있습니다?집계는 UPDATE 문
나는 (다른 사람들이 지적했듯이)이 업데이트에 데카르트를 원하지 않으므로 쿼리에 "ID"를 추가 했으므로 수정을해야하지만이 방법을 사용하면 오른쪽 경로에
;with temp as (
select a.id, SUM(a.pazartesi - b.kota) as newTotal
from [asgdb01].[dbo].[info] a join [asgdb01].[dbo].[kota] b
on a.id = b.id
where a.work_type='in' and a.name='alp')
update a
set fm = t.newTotal
from [asgdb01].[dbo].[info] a join temp t on a.id = t.id
나는 합계 대신에 카운트를 사용하도록 임시 ID로 그룹화해야했습니다. 환상적인 대답. –
+1 [CTEs] (https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql)와는 대조적으로 우아하고 우수한 성능의 솔루션입니다. [CROSS] 또는 인라인 서브 쿼리를 사용하는 [수많은] (https://stackoverflow.com/questions/25937315/) 다른 방법. – dakab
실제로 카티 션 제품을 원하십니까?. 또한, 어떤 RDBMS를 사용하고 있습니까? – Lamak
나는 mssql을 사용하고, 다른 테이블에서 오는 pazartesi와 kota를 빼기를 원한다. –
두 개의 다른 테이블을 사용하고 싶지만 두 테이블 사이에'JOIN' 조건을 사용하지 않는다는 것을 알고 계십니까? – Lamak