하위 쿼리 H2를 사용한 SQL 업데이트

RuntimeException

다음과 같은 간단한 테이블 구조가 있습니다.

USER_ROLE +------------+----------------------+ | USER_ID | USER_ROLE | +------------+----------------------+ | U007 | A | | U007 | B | | U007 | C | | U008 | A | | U009 | A | | U009 | B | +------------+----------------------+

USER_ROLE을 'A'와 'B'대신 'Z'로 변경하고 싶지만 키는 구성되어 있습니다 (USER_ID 및 USER_ROLE).

1) 첫 번째 쿼리는 사용자가 컬렉션 ( 'A', 'B')에서 하나의 역할 만 갖는 경우 USER_ROLE을 'Z'로 설정합니다.

UPDATE ( SELECT USER_ID FROM USER_ROLE WHERE USER_ROLE IN ('A', 'B') GROUP BY USER_ID HAVING COUNT(*) = 1 ) SET USER_ROLE = 'Z';

하지만 작동하지 않습니다. 어떻게 생겼을까 요?

임 팔러

여기 있습니다 :

update user_role set user_role = 'Z'
where user_id in (
        select user_id
        from user_role
        where user_role in ('A', 'B')
        group by user_id
        having count(*) = 1)
  and user_role in ('A', 'B');

결과:

select * from user_role;

USER_ID  USER_ROLE  CREATED   
-------  ---------  ----------
U007     A          2020-01-01
U007     B          2020-01-02
U007     C          2020-01-03
U009     A          2020-01-05
U009     B          2020-01-06
U008     Z          2020-01-04

H2 1.4.197에서 사용한 데이터 스크립트는 다음과 같습니다.

create table user_role (
  user_id varchar(10),
  user_role varchar(10),
  created date,
  primary key (user_id, user_role)
);

insert into user_role (user_id, user_role, created) values 
  ('U007', 'A', '2020-01-01'), 
  ('U007', 'B', '2020-01-02'),
  ('U007', 'C', '2020-01-03'),
  ('U008', 'A', '2020-01-04'),
  ('U009', 'A', '2020-01-05'),
  ('U009', 'B', '2020-01-06');

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하위 쿼리를 사용한 Oracle 업데이트

분류에서Dev

SQL-하위 쿼리를 사용하여 문에 삽입 한 다음 문을 업데이트합니다.

분류에서Dev

SQL 업데이트 쿼리를 사용하는 여러 항목

분류에서Dev

다른 쿼리의 결과를 사용하는 SQL 업데이트 테이블

분류에서Dev

SQL은 조인의 열과 같도록 열을 업데이트하고 하위 쿼리를 사용합니다.

분류에서Dev

행 쿼리를 사용하지 않고 YII2의 두 ID 간 업데이트를위한 Active Record 쿼리

분류에서Dev

업데이트를위한 LINQ의 하위 쿼리

분류에서Dev

단일 테이블에서 업데이트를위한 SQL 쿼리

분류에서Dev

테이블 채우기 및 업데이트를위한 SQL 쿼리

분류에서Dev

Linq to Sql을 사용하여 하위 쿼리와 같은 업데이트

분류에서Dev

하위 쿼리를 사용한 SQL 쿼리 최적화

분류에서Dev

너무 많은 레코드를 업데이트 / 교체하기위한 SQL 쿼리

분류에서Dev

중첩 된 하위 쿼리를 사용하여 테이블 업데이트

분류에서Dev

중첩 된 하위 쿼리를 사용하여 테이블 업데이트

분류에서Dev

선택 데이터를 사용하여 쿼리 업데이트

분류에서Dev

업데이트와 함께 하위 쿼리를 사용하는 MySql

분류에서Dev

SQL에서 여러 열 값을 업데이트하기 위해 하위 쿼리를 사용하는 방법은 무엇입니까?

분류에서Dev

필드 범위를 업데이트하는 SQL 쿼리-MySQL 테이블

분류에서Dev

ORM 쿼리를 하이버 네이트하기위한 SQL 쿼리

분류에서Dev

시퀀스를 사용하여 중복 항목을 제거하기위한 Oracle PLSQL 업데이트 쿼리

분류에서Dev

SQL 쿼리를 사용하여 데이터 세트 필터링

분류에서Dev

테이블 업데이트를위한 SQL 트리거

분류에서Dev

선택 쿼리를 사용하여 테이블 업데이트

분류에서Dev

Django에서 SQL 업데이트 쿼리를 사용하여 외래 키 필드를 업데이트하는 방법이 있습니까?

분류에서Dev

like 문을 사용하여 SQL 업데이트 쿼리를 실행하는 방법

분류에서Dev

Java를 사용하여 Elasticsearch에서 쿼리 별 업데이트

분류에서Dev

업데이트를위한 SQL AFTER 삽입 트리거

분류에서Dev

PHP와 MySQL을 사용하여 쿼리에서 수행 한 쿼리 결과를 업데이트하는 방법

분류에서Dev

여러 조건으로 쿼리를 업데이트하기 위해 동적 SQL을 사용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    하위 쿼리를 사용한 Oracle 업데이트

  2. 2

    SQL-하위 쿼리를 사용하여 문에 삽입 한 다음 문을 업데이트합니다.

  3. 3

    SQL 업데이트 쿼리를 사용하는 여러 항목

  4. 4

    다른 쿼리의 결과를 사용하는 SQL 업데이트 테이블

  5. 5

    SQL은 조인의 열과 같도록 열을 업데이트하고 하위 쿼리를 사용합니다.

  6. 6

    행 쿼리를 사용하지 않고 YII2의 두 ID 간 업데이트를위한 Active Record 쿼리

  7. 7

    업데이트를위한 LINQ의 하위 쿼리

  8. 8

    단일 테이블에서 업데이트를위한 SQL 쿼리

  9. 9

    테이블 채우기 및 업데이트를위한 SQL 쿼리

  10. 10

    Linq to Sql을 사용하여 하위 쿼리와 같은 업데이트

  11. 11

    하위 쿼리를 사용한 SQL 쿼리 최적화

  12. 12

    너무 많은 레코드를 업데이트 / 교체하기위한 SQL 쿼리

  13. 13

    중첩 된 하위 쿼리를 사용하여 테이블 업데이트

  14. 14

    중첩 된 하위 쿼리를 사용하여 테이블 업데이트

  15. 15

    선택 데이터를 사용하여 쿼리 업데이트

  16. 16

    업데이트와 함께 하위 쿼리를 사용하는 MySql

  17. 17

    SQL에서 여러 열 값을 업데이트하기 위해 하위 쿼리를 사용하는 방법은 무엇입니까?

  18. 18

    필드 범위를 업데이트하는 SQL 쿼리-MySQL 테이블

  19. 19

    ORM 쿼리를 하이버 네이트하기위한 SQL 쿼리

  20. 20

    시퀀스를 사용하여 중복 항목을 제거하기위한 Oracle PLSQL 업데이트 쿼리

  21. 21

    SQL 쿼리를 사용하여 데이터 세트 필터링

  22. 22

    테이블 업데이트를위한 SQL 트리거

  23. 23

    선택 쿼리를 사용하여 테이블 업데이트

  24. 24

    Django에서 SQL 업데이트 쿼리를 사용하여 외래 키 필드를 업데이트하는 방법이 있습니까?

  25. 25

    like 문을 사용하여 SQL 업데이트 쿼리를 실행하는 방법

  26. 26

    Java를 사용하여 Elasticsearch에서 쿼리 별 업데이트

  27. 27

    업데이트를위한 SQL AFTER 삽입 트리거

  28. 28

    PHP와 MySQL을 사용하여 쿼리에서 수행 한 쿼리 결과를 업데이트하는 방법

  29. 29

    여러 조건으로 쿼리를 업데이트하기 위해 동적 SQL을 사용하는 방법은 무엇입니까?

뜨겁다태그

보관