COL1, COL2, COL3, col4는, MONTHNAME
뭔가 같은 :
col1 | col2 | col3 | col4 | monthName
----------------------------------------
4 | 5 | 55 | 8 | January
4 | 4 | 33 | 6 | February
COL1과 COL2 합해야합니다 지난 달의 col4와 동일합니다. 그래서 나는
select * from table1 where col1+col2=col4 where monthName='February'
처럼 비교할 수 있지만, 모든 행을 비교합니다 알의 내가 그것을 내가 올바른 방법으로이 작업을 수행하는 방법
select *
from table1
where col1+col2 = (select col4 from table1 where monthName='January')
where monthName='February'
같은 달에 특정 뭔가 싶어?
음, 월간 보고서에 대한 내용입니다.
아마도 내 주요 문제는 지난 달 (예 : 1 월)부터 col4를 얻는 것입니다.
좀 더 명확하게 설명하기 위해 노력하고 있어요 :
- 가 COL1합니다 (MONTHNAME 열에입니다) 현재 월의 및 COL2를 확인하고 합을한다.
- 지난 달에서 col4 세포 값을 받으십시오. 이 경우 monthName 란의 2 월입니다.
- 은 (MONTHNAME에서 지난 달) col4에 COL1 + COL2 (현재 월)를 비교.
- 첫 번째 예에서 행 번호 2는 참일 수 있습니다. 이는 4 분의 4 = 8이 col4 값 (8) 1 월과 일치하기 때문입니다. 이번 달의 col1과 col2 합계가 지난 달의 col4 데이터와 일치하면 사용자는 좋습니다.
나는 아주 쉽게 COL1과 COL2 얻을 수 있습니다 :
선택 합 (COL1 + COL2)를 currentTotal로 표 어디에서 MONTHNAME = '2월'
하지만 난 지난 달 저장소에서 col4 값을 얻는 방법 그러면 어딘가에 현재의 총계와 비교할 수 있을까요? 매월 15 개의 행이 삽입되며 지난 달과 비교됩니다.
이번에 제가 좀 더 잘 설명했는지 확실하지 않습니다!
디자인을 다시 생각해 봐야합니다. 'monthName varchar' 대신에'first_of_month date'를 고려해야합니다. – gvee
왜 SUM (col1 + col2-col4) GROUP BY 월을 계산하지 않습니까? 그런 식으로 무효 값이 0이 아니면 – jean
테이블 1과 예상 결과에 더 많은 데이터 행을 추가 할 수 있습니까? 나는 너의 설명을 이해하지 못한다 –