Hive에서 다중 하위 쿼리로 SQL을 다시 작성하는 방법

탄산 찬

다음은 GreenPlum에 대한 다중 하위 쿼리가있는 SQL입니다. 불행히도 SQL을 Hive로 마이그레이션해야하지만 WHERE 절에서 이러한 하위 쿼리를 처리하는 방법을 모릅니다.

select 
    t.ckid , t.prod_id , t.supp_num , t.wljhdh , 
    sum(t.sssl) as zmkc , max(t.dj) as dj
from 
    %s t
where
    exists (select 1 
            from dw_stage.wms_c_wlsjd w 
            where w.lydjh = t.wljhdh and w.lzztflag='上架确认'
              and (ckid , kqid) in (select ckid , kqid 
                                    from dw_stage.jcxx_kqxx 
                                    where kqytsxid in ('2','3'))
        )
        and (t.ckid,t.supp_num)  in (select cgck_stock_id,vndr_code from madfrog.cfg_vendor_dist where status=1 and send_method=2 and upper(purch_warehouse_type)='F')
        and supp_num not in (select distinct vndr_code as supp_no from madfrog.cfg_vendor_dist where status=1 and send_method in (4,5))
    group by t.ckid , t.prod_id , t.supp_num , t.wljhdh

귀하의 팁에 감사드립니다.

StephenBoesch

당신은 변환해야합니다 subquery과를 in clause

왼쪽 외부 결합

구조에 초점 :

select <cols list> 
from <tabname> t
left outer join dw_stage.wms_c_wlsjd w 
 on w.lydjh = t.wljhdh 
where w.lzztflag='上架确认'

그만큼

((t.ckid,t.supp_num)  in (select .. )

supp_num not in (select distinct vndr_code as supp_no 

또한 외부 조인으로 다시 작성해야합니다.

이 다른 질문에 대한 내 대답에서 외부 조인 사용에 대한 자세한 정보를 찾을 수 있습니다. NOT IN 절을 실행하는 Hive 명령

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

select 절에서 하위 쿼리를 CTE로 다시 작성하는 방법

분류에서Dev

서로 종속성이있는 다중 SQL 삽입 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

조인을 사용하여 하위 쿼리를 다시 작성하는 방법

분류에서Dev

SQL 원시 쿼리를 Laravel Query Builder로 다시 작성하는 방법

분류에서Dev

htaccess로 PHP에서 URL을 다시 작성하는 방법

분류에서Dev

IN 절없이 SQL 쿼리를 다시 작성하는 방법

분류에서Dev

Oracle 다중 매개 변수 하위 쿼리를 MS SQL 하위 쿼리로 전환하는 방법

분류에서Dev

Laravel 5.1에서 Eloquent를 사용하여 원시 쿼리로 다중 선택을 수행하는 방법

분류에서Dev

Python sqlite3에서 다중 범위 / 중복 쿼리를 작성하는 방법

분류에서Dev

다음 SQL 시나리오에서 중복을 방지하는 방법

분류에서Dev

뷰는 FROM 절에서 하위 쿼리를 허용하지 않습니다. 하위 쿼리없이 SQL을 다시 작성하는 방법은 무엇입니까?

분류에서Dev

Java API로 ElasticSearch DSL 쿼리를 다시 작성하는 방법

분류에서Dev

SQL MERGE로 다른 하위 쿼리를 사용하는 방법

분류에서Dev

Laravel에서 SQL 쿼리를 다시 작성하는 방법은 무엇입니까?

분류에서Dev

Laravel Query Builder로이 원시 SQL 쿼리를 다시 작성하는 방법이 있습니까?

분류에서Dev

elasticsearch 다중 쿼리 조건을 작성하는 방법은 무엇입니까?

분류에서Dev

경로 codeigniter에서 URL을 메뉴로 다시 작성하는 방법

분류에서Dev

Hive에서 RLIKE를 사용할 때 퍼지 다중 하위 문자열 일치를 작성하는 방법

분류에서Dev

하위 쿼리없이이 문을 다시 작성하는 방법이 있습니까?

분류에서Dev

Dlang으로 범위 블록에 다중 문을 작성하는 방법은 무엇입니까?

분류에서Dev

IN 쿼리를 다른 IN 쿼리에 다른 방식으로 작성하는 방법은 무엇입니까?

분류에서Dev

Visual Studio 쿼리 작성기가 SQL 다시 쓰기를 중지하는 방법 (VS2005)

분류에서Dev

give database에서 S와 V로 시작하는 이름을 정렬하는 쿼리를 작성했습니다.

분류에서Dev

CASE WHEN SQL 다중 하위 쿼리를 사용하는 위치 및 방법

분류에서Dev

HQL에서이 SQL 코드를 다시 작성하는 방법

분류에서Dev

Julia에서 추적을 유지하는 옵션으로 일시 중지 및 다시 시작하는 방법

분류에서Dev

내 URL을 다시 작성하기 위해 iis에서 다시 쓰기를 설정하는 방법

분류에서Dev

SCHTASKS / Query가 쿼리 결과에 "다중 작업"특성을 표시하도록하는 방법은 무엇입니까?

분류에서Dev

Java에서 xml 파일을 다시 작성하는 방법

Related 관련 기사

  1. 1

    select 절에서 하위 쿼리를 CTE로 다시 작성하는 방법

  2. 2

    서로 종속성이있는 다중 SQL 삽입 쿼리를 작성하는 방법은 무엇입니까?

  3. 3

    조인을 사용하여 하위 쿼리를 다시 작성하는 방법

  4. 4

    SQL 원시 쿼리를 Laravel Query Builder로 다시 작성하는 방법

  5. 5

    htaccess로 PHP에서 URL을 다시 작성하는 방법

  6. 6

    IN 절없이 SQL 쿼리를 다시 작성하는 방법

  7. 7

    Oracle 다중 매개 변수 하위 쿼리를 MS SQL 하위 쿼리로 전환하는 방법

  8. 8

    Laravel 5.1에서 Eloquent를 사용하여 원시 쿼리로 다중 선택을 수행하는 방법

  9. 9

    Python sqlite3에서 다중 범위 / 중복 쿼리를 작성하는 방법

  10. 10

    다음 SQL 시나리오에서 중복을 방지하는 방법

  11. 11

    뷰는 FROM 절에서 하위 쿼리를 허용하지 않습니다. 하위 쿼리없이 SQL을 다시 작성하는 방법은 무엇입니까?

  12. 12

    Java API로 ElasticSearch DSL 쿼리를 다시 작성하는 방법

  13. 13

    SQL MERGE로 다른 하위 쿼리를 사용하는 방법

  14. 14

    Laravel에서 SQL 쿼리를 다시 작성하는 방법은 무엇입니까?

  15. 15

    Laravel Query Builder로이 원시 SQL 쿼리를 다시 작성하는 방법이 있습니까?

  16. 16

    elasticsearch 다중 쿼리 조건을 작성하는 방법은 무엇입니까?

  17. 17

    경로 codeigniter에서 URL을 메뉴로 다시 작성하는 방법

  18. 18

    Hive에서 RLIKE를 사용할 때 퍼지 다중 하위 문자열 일치를 작성하는 방법

  19. 19

    하위 쿼리없이이 문을 다시 작성하는 방법이 있습니까?

  20. 20

    Dlang으로 범위 블록에 다중 문을 작성하는 방법은 무엇입니까?

  21. 21

    IN 쿼리를 다른 IN 쿼리에 다른 방식으로 작성하는 방법은 무엇입니까?

  22. 22

    Visual Studio 쿼리 작성기가 SQL 다시 쓰기를 중지하는 방법 (VS2005)

  23. 23

    give database에서 S와 V로 시작하는 이름을 정렬하는 쿼리를 작성했습니다.

  24. 24

    CASE WHEN SQL 다중 하위 쿼리를 사용하는 위치 및 방법

  25. 25

    HQL에서이 SQL 코드를 다시 작성하는 방법

  26. 26

    Julia에서 추적을 유지하는 옵션으로 일시 중지 및 다시 시작하는 방법

  27. 27

    내 URL을 다시 작성하기 위해 iis에서 다시 쓰기를 설정하는 방법

  28. 28

    SCHTASKS / Query가 쿼리 결과에 "다중 작업"특성을 표시하도록하는 방법은 무엇입니까?

  29. 29

    Java에서 xml 파일을 다시 작성하는 방법

뜨겁다태그

보관