그래서 두 테이블을 모두 사용하고 싶습니다.SQL 백분율 및 다른 테이블의 기준에서 값을 늘리십시오.
첫 번째.
공장 (fid
, fname
, address
)
및
노동자 (wid
, wname
, fid
, salary
)
내가 작업하는 근로자의 급여를 증가 싶어 100 명 이상의 근로자가 10 % 나되는 공장.
어떻게 처리하나요?
공장의 fid
은 100 개가 넘는 이드가 있는지 검색해야합니까?
그래서 두 테이블을 모두 사용하고 싶습니다.SQL 백분율 및 다른 테이블의 기준에서 값을 늘리십시오.
첫 번째.
공장 (fid
, fname
, address
)
및
노동자 (wid
, wname
, fid
, salary
)
내가 작업하는 근로자의 급여를 증가 싶어 100 명 이상의 근로자가 10 % 나되는 공장.
어떻게 처리하나요?
공장의 fid
은 100 개가 넘는 이드가 있는지 검색해야합니까?
다음과 같이 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
'GROUP BY'를 확인하십시오. Aldo는 10 % 증가 산술을 간소화 할 수 있습니까? –
@PM 감사합니다. 오타가 잘못되었습니다. GROUP BY 절에서 열 이름을 올바른 값으로 변경했습니다. 희망은 지금 작동 –
'SET salary = 1.1 * salary' –
당신이'와 UPDATE'하거나 출력 새 급여를 할 실제로 필요합니까 업데이트 할'SELECT '? –
데이터베이스를 업데이트하고 출력해야합니다. 하나의 쿼리에서 가능합니까? – stated
RDBMS ('SQL Server', 'Oracle' 등) 란 무엇입니까? –