안녕하세요 Oracle 데이터베이스의 세 가지 테이블을 통과하여 데이터를 가져와야한다는 요구 사항이 있습니다.여러 행에서 데이터를 가져 오기위한 SQL 쿼리
저는 countyId를 전달하여 우편 번호 테이블에서 모든 우편 번호를 가져옵니다. ZIP 테이블에서 검색된 zipCode 수에 따라 각 우편 번호를 전달하여 다른 테이블에서 확인합니다. 이 zipCode를 기반으로 ACTIVITY 테이블은 해당 zipCode 행을 반환합니다.
어떻게 이것을 달성하기 위해 SQL 쿼리를 작성할 수 있습니까? 나는 가상 테이블 생성 개념이 있다는 소식을 들었지만, 그것에 대해서는 잘 모른다.
수준 높은 의견을 제공해주십시오. 어떻게 진행할 수 있습니까?
나는 아래의 쿼리를 시도했지만 결과가 검색되지 않습니다 - 0 행select T_ZIP5.zip,
T_DTV_CNTY_ELIGIBILITY.DTV_eligible,
T_USER_ACTIVITY.cuid,
T_USER_ACTIVITY.actvty_date
from T_ZIP5
join T_DTV_CNTY_ELIGIBILITY
on T_ZIP5.FIPS_CNTY=T_DTV_CNTY_ELIGIBILITY.CNTY_FIPS
join T_USER_ACTIVITY
on T_DTV_CNTY_ELIGIBILITY.zip_code=T_USER_ACTIVITY.zip
where T_ZIP5.FIPS_CNTY='53033'
테이블 구조 :
desc t_zip5
----------------- -------- ------------
ZIP NOT NULL VARCHAR2(5)
FIPS_CNTY VARCHAR2(5)
CITY_NAME NOT NULL VARCHAR2(50)
STATE NOT NULL VARCHAR2(2)
RATE_CENTER_NAME VARCHAR2(10)
RATE_CENTER_STATE VARCHAR2(2)
desc T_DTV_CNTY_ELIGIBILITY
------------- -------- ------------
CNTY_FIPS NOT NULL VARCHAR2(5)
ZIP_CODE NOT NULL VARCHAR2(5)
DTV_ELIGIBLE CHAR(1)
USER_MODIFIED VARCHAR2(10)
CREATED_DATE DATE
MODIFIED_DATE DATE
desc T_USER_ACTIVITY
----------- ---- -------------
ACTVTY_DATE DATE
ACTVTY_NAME VARCHAR2(20)
ACTVTY_DSCR VARCHAR2(200)
CUID VARCHAR2(10)
ZIP VARCHAR2(5)
53033이 countyCode
군을 위해 우편 번호입니다 T_USER_ACTIVITY에 존재 표. 그러나 주어진 카운티 53033에 대한 T_ZIP5 테이블에는 여러 개의 zip 항목이 있습니다.
체크 아웃 해결하고 가입하세요. (누가 가상 테이블을 말 했나요?) – jarlh
테이블 구조는 무엇이며 몇 가지 샘플 데이터를 보여줄 수 있습니까? 53033이 카운티 코드입니까, 아니면 우편 번호입니까? 항상 활동 데이터가있을 것이며 그렇지 않은 경우 어떻게해야합니까? –
Alex Poole : 53033은 countycode입니다. 테이블 구조도 추가했습니다. 이 문제에 대해 도와주세요 –