SQL 내부 조인과 케이스

다니엘 복산

하나의 쿼리를 기능으로 관리하려면 도움이 필요합니다. 몇 가지 내부 조인을 전달하고 그 후에 일부 값을 비교하고이를 기반으로 올바른 문자로 상태를 업데이트해야합니다.

update t_carton_box 
set status =  (select * 
                from t_entries e 
                inner join t_aql a 
                    on e.aql_id = a.aql_id  
                inner join t_aql_ver av 
                    on av.id=a.aql_ver_id   
                inner join t_carton_box c 
                    on e.carton_box = c.carton_box  
                inner join t_entries ee 
                    on case 
                        when sum(ee.reject) < a.reject 
                                then 'A' 
                        else 'R' end )

위의 코드로 시도했지만 작동하지 않습니다.

잘못된 설명으로 죄송합니다. 열이있는 t_carton_box 테이블이 있는데 그중 하나가 상태입니다. 모든 기록의 상태는 문자 'A'또는 'R'로 업데이트해야합니다. sum (t_entries.rejecte) <t_aql.reject 인 경우 어떤 문자가 될지 다릅니다. 또한 다른 내부 조인이 포함되어야합니다. 해당 조건이 올바른 값 t_aql.reject를 제공하기 때문입니다.

최신 정보:

t_entries에는 entry_id, accept, reject, carton_box, fk_aql_id 열이 있습니다. t_aql에는 aql_id, accept, reject, fk_aql_ver_id 열이 있습니다. t_aql_ver에는 열 ID가 있습니다. t_carton 상자에는 carton_box_id, carton_box, 상태 열이 있습니다. 거부는 정수입니다. carton_box에 대한 t_entries에서 거부 합계를 가져와야하고 t_aql에서 확인이 더 큽니다. 테이블 t_carton_box의 해당 carton_box에 대해 더 큰 경우 'R'이 아니면 'A'로 상태가 업데이트됩니다. 나는 당신에게 더 명확하게 알기를 바랍니다.

바 베시 고다 사라

여러 값으로 하나의 열을 업데이트하려고하기 때문에 작동하지 않습니다. 즉 상태는 하나의 열이고 *는 여러 열을 제공합니다.

set status =  (select * 

OP의 편집에 따라 SQL은 다음과 같습니다.

UPDATE TCB
SET TCB.STATUS = TE_SUM_O.STATUS
FROM T_CARTON_BOX TCB
INNER JOIN (
            SELECT TE_SUM.CARTON_BOX,(CASE WHEN TE_SUM.REJECT=TE_SUM.TE_REJECT THEN 'R' ELSE 'A' END)STATUS
            FROM(
            SELECT TE.CARTON_BOX,TA.REJECT,SUM(TE.REJECT)TE_REJECT
            FROM T_AQL TA
            INNER JOIN T_ENTRIES TE
            ON TA.AQL_ID = TE.FK_AQL_ID
            GROUP BY TE.CARTON_BOX,TA.REJECT)TE_SUM
            )TE_SUM_O
ON TCB.CARTON_BOX=TE_SUM_O.CARTON_BOX

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내부 조인의 결과를 테이블 SQL에 병합

분류에서Dev

두 선택 SQL과 내부 조인

분류에서Dev

SQL 쿼리의 조건부 케이스

분류에서Dev

SQL : 다른 테이블에서 일치하는 조상과 조인 (내부 조인)

분류에서Dev

내부 조인이있는 SQL max ()

분류에서Dev

SQL 업데이트 및 내부 조인

분류에서Dev

SQL-내부 조인의 결과를 새 테이블에 저장합니까?

분류에서Dev

dplyr 내부의 조건부 케이스

분류에서Dev

WHEN 내부의 SQL 케이스

분류에서Dev

업데이트 문 SQL 액세스 이중 내부 조인

분류에서Dev

결과 열이 다른 SQL Server 조건부 조인

분류에서Dev

SQL 내부 조인 후 왼쪽 조인 3 테이블

분류에서Dev

mysql, SQL 내부 조인 내부

분류에서Dev

SQL 내부 조인 2 회

분류에서Dev

linq to sql select 내부 조인

분류에서Dev

SQL 내부 조인 사용

분류에서Dev

내부 조인 SQL 구문

분류에서Dev

SQL-내부 조인

분류에서Dev

SQL select 문 내부 조인

분류에서Dev

Access의 내부 조인 SQL

분류에서Dev

SQL 다중 내부 조인

분류에서Dev

T-SQL 내부 조인

분류에서Dev

내부 조인 SQL 문제

분류에서Dev

조건이 충족되면 SQL 내부 조인

분류에서Dev

조건이 충족되면 SQL 내부 조인

분류에서Dev

SQL Server 내부 조인은 하나의 테이블에서만 결과를 가져옵니다.

분류에서Dev

SQL, 내부 조인 및 결과 쿼리 가능?

분류에서Dev

일대 다 관계로 SQL 내부 조인의 결과 반복

분류에서Dev

여러 테이블의 SQL 내부 조인 및 데이터베이스 검색