Comment 2
-
나는짱이야
2014.04.24 09:18
-
Hisory
2014.04.24 09:24
DB 구조를 몰라서 정확한 답변은 힘들지만 우선 아래 WHERE 조건만으로 결과값은 1개만 노출될것으로 생각되네여.. 아파트 호까지 들어있는걸 보면여
where rm.ACC_YEAR = '2013' (년도)
and rs.etc_addr_dong = '104' (아파트 동)
and rs.ETC_ADDR_HO = '1808' (아파트 호 )
and bh.FLR_NO between '+5' and '-5' (층)
가장 심플하게 생각나는 쿼리는 아래와 같습니다.....
from (select top 1000 * from TB_REAL_MASTER_COMM where SIDO like '%마포구%' and ADDR like '%대흥동%'and SBUN1 = '0660' and SBUN2 ='0000') as rm
join TB_REAL_SUBOBJECT as rs on rs.ACC_NO = rm.ACC_NO and rs.pnu = rm.PNU
join TB_BUILD_HO as bh on bh.DONG_NM = rs.ETC_ADDR_DONG + '동' and bh.HO_NM = rs.ETC_ADDR_HO + '호' and bh.BUN = rs.SBUN1 and bh.JI = rs.SBUN2 and bh.PRIV_AREA = rs.ALL_AREA
and bh.FLR_NO > 1
join TB_BUILD_INFO as bi on bi.MGM_BLDRGST_PK = bh.MGM_UPPER_BLDRGST_PK
where rm.ACC_YEAR = '2013' (년도)
and rs.etc_addr_dong = '104' (아파트 동)
And (
( rs.ETC_ADDR_HO = '1808' (아파트 호 )
Or
( rs.ETC_ADDR_HO != '1808' (아파트 호 )
AND 면적조건에 대한 쿼리and bh.FLR_NO between '+5' and '-5' (층) )
)
case문을 활용하면 되는거 아닌지요?