2014-06-07 1 views
-2

그래서 두 테이블을 모두 사용하고 싶습니다.SQL 백분율 및 다른 테이블의 기준에서 값을 늘리십시오.

첫 번째.

공장 (fid, fname, address)

노동자 (wid, wname, fid, salary)

내가 작업하는 근로자의 급여를 증가 싶어 100 명 이상의 근로자가 10 % 나되는 공장.

어떻게 처리하나요?

공장의 fid은 100 개가 넘는 이드가 있는지 검색해야합니까?

+0

당신이'와 UPDATE'하거나 출력 새 급여를 할 실제로 필요합니까 업데이트 할'SELECT '? –

+0

데이터베이스를 업데이트하고 출력해야합니다. 하나의 쿼리에서 가능합니까? – stated

+0

RDBMS ('SQL Server', 'Oracle' 등) 란 무엇입니까? –

답변

0

다음과 같이 100 명 이상의 직원이있는 fid를 얻기 위해 group by and having 절을 사용할 수 있습니다. 경우

select fid from Worker group by fid having count(wid) > 100 

당신이 다음 10 % 급여를 증가 첫 번째 쿼리에 FID 인출을 사용하고

update Worker set salary = salary * 1.1 where fid IN (select fid from Worker group by fid having count(wid) > 100) 

10% of salary = 1.1 * salary 
+0

'GROUP BY'를 확인하십시오. Aldo는 10 % 증가 산술을 간소화 할 수 있습니까? –

+0

@PM 감사합니다. 오타가 잘못되었습니다. GROUP BY 절에서 열 이름을 올바른 값으로 변경했습니다. 희망은 지금 작동 –

+1

'SET salary = 1.1 * salary' –

관련 문제